Sets


Tip
When a problem cannot be solved using a SELECT command, it is possible to combine several SELECT commands to get the desired result. Tables may be combined using the set operators: UNION, INTERSECT and EXCEPT. In order that two tables may be combines, they must have the same number of columns and each column must be compatible with its equivalent in the other table. Thus, if the first column in one table contains numeric data, then the first column in the other table must contain numeric data.
Cuando una un problema no puede resolverse por medio de un comando SELECT, es posible combinar varios comandos SELECT para obtener el resultado adecuado. Las tablas se pueden combinar usando las tres operaciones de conjuntos: UNION, INTERSECT y EXCEPT. A fin de poder combinar dos tablas, las consultas deben tener el mismo número de columnas y las columnas deben ser compatibles. Así si, si en una consulta la columna es numérica, entonces la columna de la otra consulta debe ser también numérica.

UNION

It combines the result of two SELECT commands and returns a table consisting of all rows satisfying either or both commands. The UNION operator removes all duplicate rows from the result. This effect can be negated using UNION ALL.
La unión combina dos o más comandos del tipo SELECT y regresa una tabla que consiste de los renglones que están en una u otra tabla, o que están en las dos. El operador UNION remueve los renglones duplicados. En el caso de que no se requieran remover los renglones duplicados se puede usar el comando UNION ALL.

Problem 1
ford > Test the following SQL command.
Pruebe el siguiente comando de SQL.

SQL
SELECT name, state, sales
FROM store
WHERE sales='E'
--____________________
UNION ALL
--____________________
SELECT name, state, sales
FROM store
WHERE state='CA';

ford_unionall

Problem 2
ford > Test the following SQL command.
Pruebe el siguiente comando de SQL.

SQL
SELECT name, state, sales
FROM store
WHERE sales='E'
--____________________
UNION
--____________________
SELECT name, state, sales
FROM store
WHERE state='CA';

ford_union

INTERSECT

It returns only those rows that appear in both tables.
Regresa solamente los renglones que aparecen en ambas consultas.

EXCEPT or MINUS

It returns those rows that would appear in the first command with those that would also appear in the second command removed.
Regresa los renglones de la primera consulta removiendo los renglones que regresa la segunda consulta.

Tip
The SET operators are useful to combine information from several tables or select statements. Their true power can be better appreciate when the combined tables are different. Many queries that cannot be built using AND and OR can be solved using the set operators. Note that Microsoft Access and MySQL do not support INTERSECT neither EXCEPT.
Los operadores de conjuntos son útiles para combinar información de varias tablas. Su verdadero poder se puede apreciar mejor cuando las consultas que los forman contienen tablas y/o columnas diferentes. Muchas consultas que no pueden conseguirse con los operadores AND y OR pueden resolverse con los operadores de conjuntos. Note que Microsoft Access y MySQL no soportan INTERSECT y EXCEPT.

Problem 3
ford > Test the following SQL command in Microsoft SQL Server or Oracle.
Pruebe el siguiente comando de SQL en Microsoft SQL Server o en Oracle.

SQL
SELECT name, state, sales
FROM store
WHERE sales='E'
INTERSECT
SELECT name, state, sales
FROM store
WHERE state='CA';

ford_intersect

Problem 4
ford > Test the following SQL command in Oracle. Then test the command in Microsoft SQL Server replacing MINUS with EXCEPT.
Pruebe el siguiente comando de SQL en Oracle. Entonces pruebe el comando en Microsoft SQL Server reemplazando MINUS con EXCEPT.

SQL
SELECT name, state, sales
FROM store
WHERE sales='E'
MINUS
SELECT name, state, sales
FROM store
WHERE state='CA';


ford_except

Problem 5
city_bank > Write an SQL statement to display the balance in five months for each client. The bank pays 1.09% every month when the balance is positive. It charges 5.41% per month if the balance is negative.

Future = Present (1 + Monthly Interest)Numb Months
Escriba un comando SQL para mostrar el balance que cada cliente tendrá en cinco meses. Suponga que el banco paga el 1.09% por mes cuando el balance es positivo; y que carga una taza de 5.41% por mes cuando el balance es negativo.

Futuro = Presente (1 + Interes Mensual)Num Meses

cb_future

© Copyright 2000-2019 Wintempla selo. All Rights Reserved. Sep 05 2019. Home