teoria sql

7

Click here to load reader

Upload: victor-morales

Post on 11-Jun-2015

1.191 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Teoria sql

SQL

El Lenguaje de Consulta Estructurado (SQL) se usa para consultar,

actualizar y administrar bases de datos relacionales, tales como las de

Microsoft Access. Al crear una consulta en la ventana Consulta, lo que hace

Microsoft Access en realidad es construir una instrucción SQL equivalente.

Es posible ver esta instrucción y editarla eligiendo el comando SQL del menú

Ver de la ventana Consulta, o haciendo clic en el botón "Presentación SQL".

Sentencia

SELECT listaDeCampos FROM nombreDeTablas WHERE condicionesDeBúsqueda;

Opcionales

GROUP BY listaDeCampos HAVING condicionesDeBúsqueda ORDER BY listaDeCampos

Ejemplo SELECT [Apellidos], [Nombre] FROM Empleados WHERE Salario > 3000;

Esta sentencia devuelve los campos apellido y nombre de la tabla

empleados cuyo salario sea mayor a 3000.

Page 2: Teoria sql

Función Count

Calcula el número de registros devueltos en una consulta. Sintaxis Count (expresión) Observaciones

Se puede contar cualquier tipo de dato, incluyendo texto.

Aunque expresión puede efectuar un cálculo en un campo, la función Cuenta

(Count) simplemente cuenta el número de registros, independientemente de

los valores que estén almacenados en los registros.

No cuenta los registros que contienen campos con datos de tipo Nulo a

menos que la expresión dada sea el carácter comodín (*). Si utiliza un

asterisco, Cuenta (Count) calculará el número 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 número de registros de una tabla Pedidos:

SELECT Count(*) AS [Total pedidos] FROM Pedidos

Si la expresión identifica múltiples campos, la función Cuenta (Count) sólo

contará un registro si al menos uno de sus campos no es un dato de tipo

Nulo. Si todos los campos especificados son datos de tipo Nulo, no se

contará el registro. Los nombres de campo deben separarse mediante un

símbolo &.

Page 3: Teoria sql

Función Sum

Devuelve la suma de un conjunto de valores contenidos en el campo

especificado en la consulta.

Sintaxis Sum(expresión) Observaciones

La expresión identifica el campo que contiene los datos numéricos que se

desean sumar, o bien una expresión que realiza un cálculo utilizando los

datos de ese campo. Los operandos de expresión pueden incluir el nombre

de un campo de tabla, una constante o una función definida por el usuario

La función 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:

SELECT Sum([Precio unidad] * [Cantidad]) AS [Ingresos totales] FROM [Ventas] Cláusula ORDER BY

Su utilización 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.

Page 4: Teoria sql

Cláusula GROUP BY

GROUP BY combina los registros con valores idénticos en la lista de

campos especificada, en un solo registro. Para cada registro se crea un valor

de resumen si incluye una función de agrupamiento, como por ejemplo Sum

o Count, en la instrucción 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 función de

agrupamiento en la instrucción SELECT.

Se debe utilizar la cláusula WHERE para excluir registros que no se desean

agrupar.

Si se utiliza una cláusula GROUP BY, todos los campos de la lista de

campos indicada en el SELECT deben estar incluidos en la cláusula GROUP

BY o ser argumentos de una función de agrupamiento.

Ejemplo SELECT [Nombre de producto], Sum([Unidades en existencia]) FROM Productos GROUP BY [Nombre de producto]

Page 5: Teoria sql

Cláusula HAVING

Se utiliza para especificar qué registros agrupados se mostrarán. Una vez

que GROUP BY combina los registros, HAVING los muestra agrupados por

la cláusula GROUP BY que satisface las condiciones de la cláusula

HAVING.

Sintaxis SELECT listaCampos FROM tabla WHERE criterioSelección 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

instrucción SELECT deberán ser únicos. Por ejemplo, quizás varios

empleados de la tabla Empleados tienen el mismo apellido. Si dos registros

contienen Sánchez en el campo Apellidos, la siguiente instrucción SQL

solamente devolverá uno de los registros:

SELECT DISTINCT [Apellidos] FROM Empleados Si se omite DISTINCT, esta consulta seleccionará los dos registros Sánchez.

La salida de una consulta que usa DISTINCT no se puede actualizar.

Page 6: Teoria sql

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

podría crear una consulta que una las tablas Clientes y Pedidos según 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 más de un pedido.

DISTINCTROW sólo 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 función obtener el número de registros

especificado que sean los primeros o los últimos de un rango indicado por

una cláusula ORDER BY.

Por ejemplo, si se desea conocer los nombres de los 50 mejores estudiantes

de la promoción de 1975 se debe utilizar la siguiente instrucción

SELECT TOP 50 [Nombre], [Apellido] FROM Estudiantes WHERE [Año de graduación] = 1975;

El predicado TOP no elige entre valores iguales.

Page 7: Teoria sql

Operación UNION (Consulta de Unión)

Permiten combinar campos de dos o más tablas o consultas. Cuando se

ejecuta una consulta de unión, se obtiene solamente aquellos registros de

campos coincidentes en las tablas o consultas incluidas.

Si utiliza la operación UNION, la consulta de unión no devolverá registros

duplicados. Sólo devolverá el primer registro coincidente para un valor dado.

Para recuperar registros duplicados se debe utilizar UNION ALL.

Ejemplo

La siguiente consulta de unión consiste en dos instrucciones SQL SELECT

que devuelven los nombres de compañía y ciudades que se encuentran

tanto en la tabla Proveedores como en la tabla Clientes y que son de Brasil.

SELECT [Nombre de compañía], [Ciudad] FROM [Proveedores] WHERE País="Brasil" UNION SELECT [Nombre de compañía], [Ciudad] FROM [Clientes] WHERE País="Brasil";