Lenguaje de consulta estructurado SQL
Introducción a SQL
Concepto: Lenguaje estructurado de consulta, que permite acceder a los datos almacenados en las bases de datos relacionales por medio de sentencias definidas.
Características: 1.Lenguaje declarativo (no procedimental) que permite obtener información indicando lo que se requiere de una manera natural (del inglés). 2. Al ser un lenguaje estándar, puede ser usado en todos los sistemas de bases de datos relacionales del mercado.
El lenguaje SQL está compuesto por comandos, cláusulas, operadores y funciones de agregado. Estos elementos se combinan en las instrucciones para crear, actualizar y manipular las bases de datos.
Operadores en SQL
Consultas a múltiples tablas
Las consultas pueden acceder a varias tablas a la vez o acceder a la misma tabla de tal forma que se procesen varias filas de la tabla al mismo tiempo. Una consulta que accede a varias filas de la misma tabla o de tablas diferentes a la vez se denomina una consulta de unión.
Consultas de unión interna
Una unión interna utiliza un operador de comparación para hacer coincidir filas de dos tablas que se basan en los valores de columnas comunes de cada una de las tablas. Las uniones internas son el tipo de unión más común.co
Consultas de unión externa a la izquierda
Una consulta de unión externa a la izquierda devuelve todas las filas de la tabla de la izquierda, no solo aquellas que coinciden con la columna unida.
Consultas de unión automática
Una consulta de unión automática une una tabla consigo misma.
Subconsultas (SQL Server)
Una subconsulta es una consulta anidada en una instrucción SELECT, INSERT, UPDATE o DELETE, o bien en otra subconsulta. Las subconsultas se pueden utilizar en cualquier parte en la que se permita una expresión. Una subconsulta también puede ser una consulta o selección interna, mientras que la instrucción que contiene una subconsulta también es conocida como consulta o selección externa.
Consultas SELECT
Consultas INSERT
Consultas UPDATE
Consultas DELETE
Sentencias y Cláusulas SQL Las operaciones de SQL reciben el nombre de sentencias: denominadas Lenguaje de Procedimientos SQL, que permiten que el SQL pueda utilizarse de forma similar a la escritura de un programa en un lenguaje de programación estructurado y están formadas por diferentes partes que se denominan cláusulas: que son condiciones de modificación utilizadas para definir los datos que desea seleccionar o manipular.. Ejemplo:
Sentencia de definición: estas son las sentencias que permiten definir todos los elementos con los que podemos interactuar. (DDL)
•CREATE Creación de tablas
• ALTER Modificación de la estructura de una tabla sin suprimirla y volver a crearla, como añadir columnas, eliminar columnas o cambiar definiciones de columna (por ejemplo, longitud o los valores predeterminados
•DROP Eliminación de objetos (como tablas) de la base de datos
•PARTITION Particionado de tablas
Sentencia de manipulación: al momento de crear las bases de datos con sus respectivas
tablas y campos, debemos insertar, modificar y borrar los valores de las filas de las tablas. Para
poder hacer esto, el SQL92 nos ofrece unas sentencias con objetivos específicos (DML)
Sentencias de control: Estas son aquellas que permiten incluir mecanismos de control para resolver problemas de concurrencia de usuarios y garantizar la seguridad de los datos. Para la concurrencia de usuarios se puede utilizar el concepto de transacción, y para la seguridad se puede autorizar y desautorizar a usuarios a acceder a la base de datos. (SQL)
Ejemplo:
-Sentencia CALL: transfiere el control de un programa objeto a otro dentro de la unidad de ejecución. -Sentencia CASE: para modificar la secuencia de ejecución de instrucciones en función del valor de una o más expresiones. -Sentencia LEAVE: se utiliza para transferir el flujo de control fuera de un bucle o sentencia compuesta
Cláusulas en SQL
Cláusula ORDER BY: especifica el orden en el que desea que se devuelvan las filas seleccionadas. El orden se ordena por orden de clasificación ascendente o descendente del valor de una columna o expresión
Cláusula WHERE: se utiliza para filtrar registros y sólo extrae los registros que cumplen un determinado criterio.
Cláusula GROUP B: especifica una tabla de resultados intermedia que consta de una agrupación de las filas de R. R es el resultado de la cláusula anterior de la subselección.
Cláusula JOIN: se utiliza para combinar filas de varias tablas basándose en una columna relacionada entre estas tablas.
Operaciones sobre conjuntos Las sentencias SQL que contienen operadores de conjunto se denominan consultas compuestas y cada una de las sentencias SELECT de una consulta compuesta se denomina consulta de componente.
La operación INTERSECT combina los resultados de dos consultas en un único resultado que comprime todas las filas comunes para ambas consultas.
La operación EXCEPT/MINUS encuentra la diferencia entre las dos consultas y el resultado comprime las filas que pertenecen únicamente a la primera consulta.
La operación UNION La operación UNION combina los resultados de dos subconsultas en un único resultado que comprime las filas que devuelven ambas consultas. UNION [DISTINCT] y UNION ALL
Con las operaciones de conjunto estándar UNION, INTERSECT y EXCEPT/MINUS, puede combinar los resultados desde dos o más sentencias SELECT para construir consultas más complejas.
UNION [DISTINCT] y UNION ALL
INTERSECT [DISTINCT] y INTERSECT ALL
EXCEPT [DISTINCT] o MINUS [DISTINCT] y EXCEPT ALL, MINUS ALL
Subconsultas Correlacionadas Es una subconsulta que SQL podría necesitar volver a evaluar cuando examina cada fila nueva (la cláusula WHERE) o cada grupo de filas (la cláusula HAVING) en la sentencia SELECT de nivel externo.
Nombres y referencias correlacionados :Una referencia correlacionada puede aparecer en una condición de búsqueda en una subconsulta
Ejemplos
subconsulta correlacionada en una cláusula WHERE
subconsulta correlacionada en una cláusula HAVING
subconsulta correlacionada en una lista de selección
subconsulta correlacionada en una sentencia DELETE