Consultas de Selección
Las consultas de selección devuelven información de las bases de datos, en forma de conjunto de registros o filas
Palabras claves utilizadas en una consulta de selección:
- SELECT: para búsquedas de determinados registros de datos
Cláusulas:
- FROM: para especificar la tabla o tablas de las cuales se van a extraer o modificar los datos.
- AS: para asignar un determinado nombre a la columna o tabla a mostrar. Se puede omitir.
- WHERE: para especificar las condiciones que deben cumplir los datos
- ORDER BY: para especificar la ordenación que deben seguir los datos
- GROUP BY, HAVING: para especificar una determinada agrupación de los datos y establecer condiciones sobre ellos.
Operadores:
- AND, OR, NOT: son operadores lógicos que encadenan condiciones de búsqueda y devuelven ‘Verdadero’ o ‘Falso’. AND devuelve verdadero si todas las condiciones son verdad. OR devuelve verdadero si al menos una de las condiciones es verdad. NOT devuelve lo contrario de la condición
- <, >, <>, <=, >=, = son operadores de comparación de datos. < menor, > mayor, <> distinto, <= menor o igual, >= mayor o igual, = igual.
- BETWEEN operador lógico para especificar un rango de valores.
- LIKE operador lógico para comparar con un modelo de datos.
- IN operador lógico para determina si un valor dado coincide con algún valor de una subconsulta o lista de datos.
- DISTINCT: operador para eliminar los valores duplicados en los campos seleccionados
Funciones Agregadas que devuelven un único valor
- AVG: función utilizada para calcular el promedio de los valores de un campo determinado
- COUNT: función utilizada para devolver el número de registros de la selección
- SUM: función utilizada para devolver la suma de todos los valores de un campo determinado
- MAX: función utilizada para devolver el valor más alto de un campo especificado
- MIN: función utilizada para devolver el valor más bajo de un campo especificado
Sintaxis básica:
SELECT * FROM Tabla
devuelve todos la información almacenada en una determinada tabla de la base de datos.
SELECT campo1, campo2,...,campoN FROM Tabla
devuelve los valores de los campos o columnas 1, 2, ..., N de una determina tabla.
SELECT campo1 c1, campo2 c2 ,...,campoN cN FROM Tabla
devuelve los valores de los campos o columnas 1, 2, ..., N de una determina tabla
y renombra las cabeceras de las columnas.
Aplicando condiciones de búsqueda:
SELECT * FROM Tabla WHERE campo OPERADOR valor
SELECT * FROM Tabla WHERE campo OPERADOR valor ORDER BY campo
Ejemplos:
SELECT * FROM Clientes_Datos
SELECT Cliente,Direccion,IdTipo,NumTelefono,RazonSocial FROM Clientes_Datos
SELECT Cliente Nombre, NumTelefono Tlf FROM Clientes_Datos
en estos ejemplos se muestra información de los clientes existentes en la base de datos.
SELECT * FROM Clientes_Datos WHERE IdTipo=0
en este ejemplo se muestran los datos de todos los clientes de tipo 0 ó nacional
SELECT Numalbaran,IdEmpresa,SerieAlbaran,FechaAlb,IdCliente,Embalaje,IdEmpleado
FROM Albaranes_Cli_Cab WHERE IdEstado=2 ORDER BY IdCliente ASC
en este ejemplo se muestran datos de todos los albaranes facturados (estado 2) ordenados ascendentemente por el identificador del cliente
SELECT Numalbaran,IdEmpresa,SerieAlbaran,FechaAlb,IdCliente,Embalaje,IdEmpleado
FROM Albaranes_Cli_Cab WHERE IdEstado=2 AND IdCliente='1145' AND FechaAlb>='20060101'
en este ejemplo se muestran determinados datos de los albaranes facturados al cliente con identificador 1145 a partir del año 2006
SELECT * FROM Clientes_Datos_Comerciales WHERE Sector IN ('METAL', 'AUTO')
datos de clientes pertenecientes a los sectores del automóvil o del metal
SELECT * FROM Clientes_Datos WHERE Cliente LIKE '%taller%'
Aquí se muestran clientes cuyo nombre contiene la palabra taller. El uso del carácter especial % con el operador like significa que se puede sustituir por cualquier carácter.
SELECT COUNT(*) FROM Clientes_Datos
numero de clientes de nuestra base de datos
SELECT SUM(Unidades) FROM Contratos_Lineas WHERE IdArticulo='MOTOR HID.' AND IdCliente='1145' AND IdEstado=0
numero de motores hidráulicos alquilados actualmente (idestado=2) al cliente 1145
SELECT IdMaquina, SUM(Unidades) AS Cantidad FROM Contratos_Lineas
GROUP BY IdMaquina, IdEstado
HAVING (IdEstado = 0)
en esta consulta se muestran la cantidad de maquinas alquiladas actualmente agrupadas por maquina.
SELECT Min(Precio_Euro) FROM Pedidos_Cli_Lineas WHERE IdArticulo=' MOTOR HID'
mínimo precio al que se vendió el motor hidráulico
SELECT DISTINCT IdCliente FROM Pedidos_Cli_Cabecera WHERE Fecha BETWEEN '20060101' AND '20060131'
muestra los clientes a los que se le realizaron pedidos en enero del 2006