Lenguaje SQL (Parte3) )
Lenguaje SQL (Parte3) )
Una consulta sirve para extraer información de una base de datos. Permite manipular datos:
agregar, eliminar y cambiar. Así es como usaremos esta palabra.
Sin embargo, no solo hay que escribir una “solicitud” aleatoria. Debes escribir tu consulta
basándote en un conjunto de códigos predefinidos, de modo que tu base de datos pueda
entender la instrucción. Nos referimos a este código como el lenguaje de consulta.
SELECT nombre
FROM persona
WHERE apellido = "MARQUESI"
DDL (Data Definition Language) que permiten crear y definir nuevas bases de datos, campos
e índices.
Comandos DDL (Data Definition Language)
Comandos Descripción
CREATE Utilizado para crear nuevas tablas, campos e índices.
DELETE Utilizado para eliminar registros de una tabla de una base de datos.
INSERT, UPDATE y DELETE son todas funciones en SQL que lo ayudan a garantizar que
sus datos estén actualizados y que no contengan información innecesaria o desactualizada.
Comando SELECT
El comando "select" recupera los registros de una tabla. Detallando los nombres de los campos
separados por comas, indicamos que seleccione todos los campos de la tabla que nombramos.
Cláusulas
Cláusulas Descripción
Utilizados para especificar la tabla de la cual se van a seleccionar
FROM los registro.
HAVING Utilizada para separar los registros que debe satisfacer cada grupo.
Cláusula FROM
La cláusula FROM Lista las tablas que deben ser analizadas en la evaluación de la expresión
de la cláusula WHERE y de donde se listarán las columnas enunciadas en el SELECT. Esta
cláusula no puede omitirse. La cláusula FROM especifica las tablas y las vistas a partir de las
que se crea la vista nueva. Al especificar una única referencia simple, se crea una vista que es
una instantánea de la tabla de origen o de la vista de origen. Si se incluye más de una referencia,
se especifica una operación de unión.
Cláusula WHERE
La cláusula WHERE puede usarse para determinar qué registros de las tablas enumeradas en
la cláusula FROM aparecerán en los resultados de la instrucción SELECT. Después de escribir
esta cláusula se deben especificar las condiciones expuestas en los apartados anteriores. Si no
se emplea esta cláusula, la consulta devolverá todas las filas de la tabla. WHERE es opcional,
pero cuando aparece debe ir a continuación de FROM.
Cláusula HAVING
La cláusula HAVING Permite condicionar el resultado después de haber agrupado los
registros.
Cláusula GROUP BY
La cláusula GROUP BY, especifica una consulta sumaria. En vez de producir una fila de
resultados por cada fila de datos de la base de datos, una consulta sumaria agrupa todas las
filas similares y luego produce una fila sumaria de resultados para cada grupo de los nombres
de columnas enunciado en esta cláusula. En otras palabras, esta cláusula permitirá agrupar un
conjunto de columnas con valores repetidos y utilizar las funciones de agregación sobre las
columnas con valores no repetidas. Esta cláusula puede omitirse.
Cláusula ORDER BY
La cláusula ORDER BY, permitirá establecer la columna o columnas sobre las cuales las filas
resultantes de la consulta deberán ser ordenadas. Esta cláusula puede Adicionalmente se puede
especificar el orden en que se desean recuperar los registros de las tablas mediante la cláusula
ORDER BY Lista de Campos. En donde Lista de campos representa los campos a ordenar.
Operadores Any / All = ANY o = SOME devuelve TRUE si el valor v es igual a algún valor
del conjunto V y por lo tanto equivale al IN. ( v > ALL V ) devuelve TRUE si el valor v es
mayor que todos los valores del conjunto V.
ANY / ALL < ANY (SOME) True, si el valor del atributo es menor que alguno de los valores
de la subconsulta =, >, <=, >=, < >
WHERE <atributo> < ANY <subconsulta>
< ALL True, si el valor del atributo es menor que todos los valores de la subconsulta >, <=,
>=, < >
WHERE < ANY WHERE < ALL
Subconsulta
Una subconsulta es una consulta que está anidado dentro de una SELECT,
INSERT, UPDATE, o DELETE declaración, o dentro de otra subconsulta. Se puede utilizar
una subconsulta en cualquier lugar donde se permita una expresión.
Ejemplo
Se usa una subconsulta como una expresión de columna denominada MaxUnitPrice en una
instrucción SELECT.
USE AdventureWorks2016;
GO
SELECT Ord.SalesOrderID, Ord.OrderDate,
(SELECT MAX(OrdDet.UnitPrice)
FROM Sales.SalesOrderDetail AS OrdDet
WHERE Ord.SalesOrderID = OrdDet.SalesOrderID) AS MaxUnitPrice
FROM Sales.SalesOrderHeader AS Ord;
GO
Una subconsulta también se denomina consulta interna o selección interna, mientras que la
declaración que contiene una subconsulta también se denomina consulta externa o selección
externa.
Muchas instrucciones Transact-SQL que incluyen subconsultas se pueden formular
alternativamente como combinaciones. Solo se pueden plantear otras preguntas con
subconsultas. En Transact-SQL, no suele haber diferencia de rendimiento entre una
instrucción que incluye una subconsulta y una versión semánticamente equivalente que no la
incluye. Sin embargo, en algunos casos en los que se debe comprobar la existencia, una
combinación produce un mejor rendimiento. De lo contrario, la consulta anidada debe
procesarse para cada resultado de la consulta externa para garantizar la eliminación de
duplicados. En tales casos, un enfoque conjunto produciría mejores resultados.
El siguiente es un ejemplo que muestra una subconsulta SELECT y una combinación SELECT
que devuelven el mismo conjunto de resultados:
USE AdventureWorks2016;
GO