Académique Documents
Professionnel Documents
Culture Documents
SINTAXIS
La
sentencia SELECT , obtiene registros de la base de datos y permite realizar la seleccin de una o varias filas o columnas de una o varias tablas.
La
clausula SELECT : Se usa para listar las columnas de las tablas que se desean ver en el resultado de una consulta. Esta clausula no puede omitirse. La clausula FROM: Lista las tablas que deben ser utilizadas en la evaluacin de las consultas. Esta clausula no puede omitirse.
La
clausula WHERE: Establece criterios de seleccin de ciertas filas, en el resultado de la consulta gracias a las condiciones de bsqueda. Puede omitirse La clausula GROUP BY: Permite agrupar un conjunto de columnas con valores repetidos. Esta clausula puede omitirse
La
clausula HAVING: Es la encargada de condicionar la seleccin de bsqueda para especificar en base a los valores resultantes en las funciones agregadas utilizadas con el WHERE, condiciona solo para la seleccin de filas individuales. La clausula ORDER-BY: permitir establecer la columna o columnas sobre las cuales las filas resultantes de la consulta debern ser ordenadas.
Ejemplo
No 1. Seleccionar todas las columnas y filas de la tabla alumno. SELECT * FROM ALUMNO
Ejemplo
No 2. Seleccionar columnas: Nombre del alumno y edad de la tabla alumno. SELECT nombre, edad FROM alumno
Ejemplo
No 3. Este ejemplo selecciona las columnas y las muestra con el titulo especificado con AS , es decir con un alias. SELECT nombre AS Nombre del alumno, edad AS Edad del alumno FROM alumno Ejemplo No 4. Seleccionar el nombre de los alumnos que estn inscritos. SELECT nombre FROM alumno ORDER BY nombre
Ejemplo
No 5. Realizar lo mismo que en el ejemplo 4 ahora que con la clausula DISTINCT. SELECT DISTINCT nombre FROM alumno ORDER BY nombre
Una
consulta SQL puede incluir en su clausula SELECT columnas calculadas cuyo valor se calculan a partir de los valores de las otras columnas almacenadas en las tablas. Estas columnas son una especie de columna virtual, pues no existen fsicamente en la tabla y sus valores calculados corresponden a los valores por fila.
Ejemplo
clientes. SELECT codigo,nomcli,(sal1+sal2+sal3) AS saldo FROM cliente WHERE (sal1+sal2+sal3)<> 0 Ejemplo No7. Calcular la venta de los vendedores. SELECT numven,nomve,(ventas cuotas) FROM vendedores WHERE (ventas cuotas) <> 0
Ejemplo
No 8. Seleccionar a los clientes cuyo numero de cliente este contenido entre el rango 2 y 5. SELECT numcli, nomcli FROM cliente WHERE numcli >=2 and numcli <=5
Ejemplo
No 8. Seleccionar a los clientes cuyo numero de cliente este contenido entre el rango 2 y 5. SELECT numcli, nomcli FROM cliente WHERE numcli BETWEEN 2 AND 5. SELECT nomcli FROM cliente WHERE (nomcli BETWEEN A and F)
Ejemplo
No9.Seleccionar a los clientes cuyo numero de cliente esta contenido en determinado rango y su saldo sea igual a cero. SELECT NUMCLI,NOMCLI,SALDO FROM CLIENTE WHERE NUMCLI BETWEEN 2 AND 3 AND NOT SALDO=0;
Ejemplo
No10.Buscar un cliente que sea el numero 823 0 832 SELECT NUMCLI,NOMCLI FROM CLIENTE WHERE NUMCLI =823 O NUMLI=832; Ejemplo No.11.Seleccionar los vendedores cuyas ventas es mayor que la cuota que se espera deben vender y que sus ventas sean mayores a 800. SELECT NUMVEN,NOMVEN FROM VENDEDOR WHERE VENTA>CUOTA AND VENTA>800
Ejemplo
No12.Seleccionar todos los clientes cuyo nombre contenga la letra H SELECT NUMCLI,NOMCLI FROM CLIENTE WHERE NOMCLI LIKE %H%
Ejemplo
No13.Seleccionar todos los clientes cuyo nombre suene parecido al especificado en la funcin soundex(). SELECT NUMCLI,NOMCLI FROM CLIENTE WHERE SOUNDEX(NOMCLI)=SOUNDEX(DUIT);
Ejemplo
No.14.Consultar que las filas de la tabla cliente, tiene un valor nulo en alguna de sus columnas de nombre, saldo o edad SELECT * FROM CLIENTE WHERE NOMBRE IS NULL OR SALDO IS NULL OR EDAD IS NULL
Sentencia
Suma: SELECT SUMA(CANTIDAD) AS SUMA DE LAS CANTIDADES FROM DETA_PEDIDO Sentencia Promedio: SELECT AVG(CANTIDAD) AS PROMEDIO DE LA CANTIDAD PEDIDA FROM DETA_PEDIDO Sentencia Mnimo: SELECT MIN(CANTIDAD) AS MINIMA CANTIDAD PEDIDA FROM DETA_PEDIDO
Sentencia
Contar: SELECT COUNT(*) AS TOTAL DE CLIENTE FROM CLIENTE Sentencia Maximo: SELECT MAX(CANTIDAD) AS MAXIMA CANTIDAD PEDIDA FROM DETA_PEDIDO
FORMA
2: SELECT a1,a2,a3,b1,b2,b3,c1,c2,c3 FROM tabla1 INNER JOIN tabla2 ON tabla1.a1=tabla2.b2 tabla2 INNER JOIN tabla3 ON tabla2.b1=tabla3.c1
Una subconsulta es una instruccin SELECT anidada dentro de una instruccin SELECT, INSERTINTO, DELETE, o UPDATE o dentro de otra subconsulta.
Puede utilizar tres formas de sintaxis para crear una subconsulta: comparacin [ANY | ALL | SOME] (instruccin sql) expresin [NOT] IN (instruccin sql) [NOT] EXISTS (instruccin sql) En donde: comparacin: Es una expresin y un operador de comparacin que compara la expresin con el resultado de la subconsulta. expresin: Es una expresin por la que se busca el conjunto resultante de la subconsulta. Instruccin sql : Es una instruccin SELECT, que sigue el mismo formato y reglas que cualquier otra instruccin SELECT. Debe ir entre parntesis.
Se
puede utilizar el predicado ANY o SOME, los cuales son sinnimos, para recuperar registros de la consulta principal, que satisfagan la comparacin con cualquier otro registro recuperado en la subconsulta. Ejemplo:
SELECT * FROM Productos WHERE PrecioUnidad > ANY (SELECT PrecioUnidad FROM DetallePedido WHERE Descuento >= 0 .25);
El
predicado ALL se utiliza para recuperar nicamente aquellos registros de la consulta principal que satisfacen la comparacin con todos los registros recuperados en la subconsulta.
El
predicado IN se emplea para recuperar nicamente aquellos registros de la consulta principal para los que algunos registros de la subconsulta contienen un valor igual. Ejemplo:
SELECT * FROM Productos WHERE IDProducto IN (SELECT IDProducto FROM DetallePedido WHERE Descuento >= 0.25);
NOT
IN se utiliza para recuperar nicamente aquellos registros de la consulta principal para los que no hay ningn registro de la subconsulta que contenga un valor igual. El predicado EXISTS (con la palabra reservada NOT opcional) se utiliza en comparaciones de verdad/falso para determinar si la subconsulta devuelve algn registro.
Obtiene
una lista con el nombre, cargo y salario de todos los agentes de ventas cuyo salario es mayor que el de todos los jefes y directores.
SELECT Apellidos, Nombre, Cargo, Salario FROM Empleados WHERE Cargo LIKE %Agente Ven%" AND Salario > ALL (SELECT Salario FROM Empleados WHERE (Cargo LIKE %Jefe%") OR (Cargo LIKE %Director%"));
Obtiene
una lista con el nombre y el precio unitario de todos los productos con el mismo precio que el almbar anisado.
SELECT DISTINCT NombreProducto,Precio_Unidad FROM Productos WHERE Precio_Unidad = (SELECT Precio_Unidad FROM Productos WHERE Nombre_Producto = "Almbar anisado");
Selecciona
Recupera
el Cdigo del Producto y la Cantidad pedida de la tabla pedidos, extrayendo el nombre del producto de la tabla de productos.
SELECT DISTINCT Pedidos.Id_Producto, Pedidos.Cantidad,(SELECT DISTINCT Productos.Nombre FROM Productos WHERE Productos.Id_Producto = Pedidos.Id_Producto) AS ElProducto FROM Pedidos WHERE Pedidos.Cantidad > 150 ORDER BY Pedidos.Id_Producto;
Recupera
numero de vuelos y capacidades de aquellos numero de vuelos con origen madrid y plazas libres.
SELECT numvuelo, plazas FROM vuelos WHERE origen=Madrid and EXIST (SELECT t1.numvuelo FROM vuelos AS t1 WHERE t1.plazaslibres > 0 and t1.numvuelo=vuelos.numvuelo ;
Mostrar
Mostrar
todas las mujeres de la tabla empleado, cuya edad sea mayor a la de cualquier hombre.
SELECT empleados.nombre FROM empleados WHERE sexo=F and edad > ANY (SELECT empleados.edad FROM empleados WHERE sexo=M );