Contaminacion
ESTRUCTURA BÁSICA (SELET WHERE)
La estructura básica de una expresión de consulta en SQL consiste en tres cláusulas: select, from y where.
Select: Se usa para listar los atributos deseados del resultado de una consulta. Select lista todos los valores asociados a los atributos, aunque estén duplicados. Donde se quiera forzar la desaparición de duplicados, se escribirá select distinct (oselect unique). También se puede especificar explícitamente que no se eliminen los duplicados usando select all. El asterisco * se utiliza de comodín, para denotar todos los atributos. También puede contener expresiones aritméticas (+, - , . , /) que operan sobre constantes o atributos.
From: Se utiliza para indicar de qué tablas se obtendrán los datos.
Where: Permite seleccionar las tuplas quecumplen una determinada condición. SQL usa las conectivas and, or y not en la cláusula where y los operandos de las conectivas pueden ser expresiones que contengan <,<=,>,>=,=,<> para comparar expresiones aritméticas y cadenas.
Por ejemplo, para obtener los nombres y números de préstamo de todos los clientes que tienen un préstamo en el banco:
select distinctnombre-cliente, prestatario.número-préstamo
from prestatario, préstamo
where prestatario.número-préstamo = préstamo.número-préstamo
Operadores en la cláusula where:
* De comparación (<, <=, >, >=, <>, =)
* Lógicos (AND, OR, NOT)
* BETWEEN ... AND ... : establece una comparación dentro de un intervalo. También se puede utilizar NOT BETWEEN.
* LIKE : Establece unacomparación entre cadenas de caracteres, empleando los comodines '%' que sustituye a una cadena de caracteres cualquiera y '_' : sustituye a un carácter cualquiera. También se puede utilizar NOT LIKE.
* IN : Indica pertenencia. Comprueba la pertenencia de una valor a un conjunto dado (que debe ir entre paréntesis). Este conjunto puede especificarse por enumeración de sus elementos o por elresultado de la ejecución de una sentencia SELECT. También se puede utilizar NOT IN.
* IS NULL : Comprueba si un valor determinado es nulo (NULL). También se puede utilizar IS NOT NULL.
* Cuantificadores (ANY, ALL) : ALL: todos, ANY: alguno. Van acompañados de un operador de comparación: > ALL, >= ALL, < ALL, ..., > ANY, >= ANY, < ANY, .… Van asociados a un conjunto o a unasubconsulta.
* Existencial (EXISTS, NOT EXISTS) : Indica la existencia o no de un conjunto. Va asociado a una subconsulta.
Orden en la recuperación de las tuplas:
order by hace que las tuplas resultantes de una consulta se presenten en orden ascendente. Para que el orden sea descendente se utiliza desc, y asc para que sea ascendente. Por ejemplo, para listar la relación préstamo en ordendescendente para importe y ascendente para número-préstamo
select *
from préstamo
order by importe desc, número-préstamo asc
Funciones de agregación
Son funciones que toman una colección de valores como entrada y producen un único valor de salida. SQL proporciona cinco funciones de agregación primitivas:
0 avg: media aritmética de un atributo o una expresión numérica
1 min:mínimo de un atributo o expresión numérica
2 max: máximo de un atributo o expresión numérica
3 sum: suma total de atributos o expresiones numéricas
4 count (*): contador de tuplas
5 count (distinct): contador de tuplas parcial, no tiene en cuenta valores nulos ni duplicados
Todos los operadores, excepto avg y sum, pueden operar con números y cadenas de caracteres. La función deagregación se coloca en la línea select. La cláusula group by se utiliza cuando las funciones de agregación se aplican a un grupo de conjuntos de tuplas, y la cláusula having se utiliza para poner una condición a los grupos. Si en una misma consulta aparece where y having, se aplica primero el predicado de where.
Por ejemplo, obtener el saldo medio de cada cliente que vive en Madrid y tiene...
Regístrate para leer el documento completo.