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