Unidad dos de la materia de taller de base de datos.

Unidad dos Lenguaje de Manipulacion de Datos.

2.3 Consultas sobre Multiples tablas.

Continuando con nuestro camino para dominar los fundamentos de SQL, en un anterior post vimos lo básico de crear consultas con la instrucción SELECT. A continuación vamos a complicar un poco la cosa aprendiendo a realizar consultas en varias tablas de la base de datos al mismo tiempo.

Es habitual que queramos acceder a datos que se encuentran en más de una tabla y mostrar información mezclada de todas ellas como resultado de una consulta. Para ello tendremos que hacer combinaciones de columnas de tablas diferentes.

En SQL es posible hacer esto especificando más de una tabla en la cláusula FROM de la instrucción SELECT.

2.3.1 Subconsultas.

Una subconsulta es una instrucción SELECT anidada dentro de una instrucción SELECT, SELECT...INTO, INSERT...INTO, DELETE, o UPDATE o dentro de otra subconsulta.

Puede utilizar tres formas de sintaxis para crear una subconsulta:

comparación [ANY | ALL | SOME] (instrucción sql), expresión [NOT] IN (instrucción sql), [NOT] EXISTS (instrucción sql). En donde:

Comparación:

Es una expresión y un operador de comparación que compara la expresión con el resultado de la subconsulta.

Expresión:

Es una expresión por la que se busca el conjunto resultante de la subconsulta.

Instrucción sql:

Es una instrucción SELECT, que sigue el mismo formato y reglas que cualquier otra instrucción SELECT. Debe ir entre paréntesis. Se puede utilizar una subconsulta en lugar de una expresión en la lista de campos de una instrucción SELECT o en una cláusula WHERE o HAVING. En una subconsulta, se utiliza una instrucción SELECT para proporcionar un conjunto de uno o más valores especificados para evaluar en la expresión de la cláusula WHERE o HAVING.

2.3.2 Operadores de reunión y de conjuntos

SQL proporciona varias operaciones de conjuntos muy eficaces. Por ejemplo, incluye operadores de conjuntos del estilo de los de SQL como UNION, INTERSECT, EXCEPT y EXISTS. Entity SQL también es compatible con operadores para la eliminación de duplicados (SET), la prueba de pertenencia a un grupo (IN) y las combinaciones (JOIN). En los temas siguientes se describen los operadores de conjuntos de SQL.

• UNION, disponible en todas las versiones de SQL Server.

• EXCEPT, nuevo en SQL Server 2005.

• INTERSECT, nuevo en SQL Server 2005.

Para utilizar operaciones de conjuntos debemos cumplir una serie de normas.

•Las consultas a unir deben tener el mismo número campos, y además los campos deben ser del mismo tipo.

•Sólo puede haber una única clausula ORDER BY al final de la sentencia SELECT.