Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Teoria SQL PDF
Teoria SQL PDF
Sentencia
SELECT listaDeCampos
FROM nombreDeTablas
WHERE condicionesDeBsqueda;
Opcionales
GROUP BY listaDeCampos
HAVING condicionesDeBsqueda
ORDER BY listaDeCampos
Ejemplo
Funcin Count
Calcula el nmero de registros devueltos en una consulta.
Sintaxis
Count (expresin)
Observaciones
Se puede contar cualquier tipo de dato, incluyendo texto.
Aunque expresin puede efectuar un clculo en un campo, la funcin Cuenta
(Count) simplemente cuenta el nmero de registros, independientemente de
los valores que estn almacenados en los registros.
No cuenta los registros que contienen campos con datos de tipo Nulo a
menos que la expresin dada sea el carcter comodn (*). Si utiliza un
asterisco, Cuenta (Count) calcular el nmero total de registros, incluyendo
los que contienen campos con datos de tipo Nulo. El asterisco no debe
encerrarse entre comillas (" ").
El siguiente ejemplo calcula el nmero de registros de una tabla Pedidos:
SELECT Count(*)
AS [Total pedidos]
FROM Pedidos
Funcin Sum
Observaciones
La expresin identifica el campo que contiene los datos numricos que se
desean sumar, o bien una expresin que realiza un clculo utilizando los
datos de ese campo. Los operandos de expresin pueden incluir el nombre
de un campo de tabla, una constante o una funcin definida por el usuario
La funcin Sum considera que los registros que contienen campos de tipo
Nulo tienen una valor 0.
El siguiente ejemplo muestra la forma de calcular la suma de los productos
de los campos Precio Unidad y Cantidad, de la tabla ventas:
Clusula ORDER BY
Su utilizacin es opcional. Permite mostrar los registros de salida de la
consulta ordenados (ascendente o descendente) por el campo indicado.
Se coloca al final de la sentencia del SQL.
Clusula GROUP BY
GROUP BY combina los registros con valores idnticos en la lista de
campos especificada, en un solo registro. Para cada registro se crea un valor
de resumen si incluye una funcin de agrupamiento, como por ejemplo Sum
o Count, en la instruccin SELECT.
Sintaxis
SELECT listaCampos
FROM tabla
WHERE criterio
GROUP BY listaCamposGrupo;
Observaciones
GROUP BY es opcional.
Los valores de resumen se omiten si no existe ninguna funcin de
agrupamiento en la instruccin SELECT.
Se debe utilizar la clusula WHERE para excluir registros que no se desean
agrupar.
Si se utiliza una clusula GROUP BY, todos los campos de la lista de
campos indicada en el SELECT deben estar incluidos en la clusula GROUP
BY o ser argumentos de una funcin de agrupamiento.
Ejemplo
SELECT [Nombre de producto],
Sum([Unidades en existencia])
FROM Productos
GROUP BY [Nombre de producto]
Clusula HAVING
Se utiliza para especificar qu registros agrupados se mostrarn. Una vez
que GROUP BY combina los registros, HAVING los muestra agrupados por
la clusula GROUP BY que satisface las condiciones de la clusula
HAVING.
Sintaxis
SELECT listaCampos
FROM tabla
WHERE criterioSeleccin
GROUP BY listaCamposGrupo
HAVING criterioGrupo;
Predicado DISTINCT
Se usa DISTINCT cuando desea omitir registros que contienen datos
duplicados en los campos seleccionados. Para que aparezcan en los
resultados de la consulta, los valores para cada campo enumerado en la
instruccin SELECT debern ser nicos. Por ejemplo, quizs varios
empleados de la tabla Empleados tienen el mismo apellido. Si dos registros
contienen Snchez en el campo Apellidos, la siguiente instruccin SQL
solamente devolver uno de los registros:
Predicado DISTINCTROW
Se debe usar cuando se desee omitir datos en base a registros completos
duplicados y no solamente en base a campos duplicados. Por ejemplo, se
podra crear una consulta que una las tablas Clientes y Pedidos segn el
campo ID de cliente. La tabla Clientes no contiene campos ID de cliente
duplicados, pero la tabla Pedidos s, ya que es posible que cada cliente
tenga varios pedidos.
Si se omite DISTINCTROW, la consulta mostrar todos los registros para
cada cliente que tenga ms de un pedido.
DISTINCTROW slo tiene efecto cuando se seleccionan los campos de
algunas tablas de la consulta. DISTINCTROW se ignora si la consulta
incluye solamente una tabla.
Predicado TOP
La palabra reservada TOP tiene por funcin obtener el nmero de registros
especificado que sean los primeros o los ltimos de un rango indicado por
una clusula ORDER BY.
Por ejemplo, si se desea conocer los nombres de los 50 mejores estudiantes
de la promocin de 1975 se debe utilizar la siguiente instruccin
Ejemplo
La siguiente consulta de unin consiste en dos instrucciones SQL SELECT
que devuelven los nombres de compaa y ciudades que se encuentran
tanto en la tabla Proveedores como en la tabla Clientes y que son de Brasil.
SELECT [Nombre de compaa], [Ciudad]
FROM [Proveedores]
WHERE Pas="Brasil"
UNION
SELECT [Nombre de compaa], [Ciudad]
FROM [Clientes]
WHERE Pas="Brasil";