Sei sulla pagina 1di 6

Universidad Nacional del Callao

Práctica Dirigida Nº 07

Ing Osmart Morales Chalco Guía Nº07 -Pag 1


Universidad Nacional del Callao
Objetivo: Usar consultas

SELECT
Permite crear consultas las cuales muestran información específica de una o más tablas.
Sintaxis:

SELECT [ALL /DISTINC ] lista_campos INTO [nombre_nueva_tabla] FROM (nombre de


la tabla o vista) [WHERE cláusula]
[GROUP BY cláusula]
[HAVING cláusula]
[ORDER BY]

Ejemplos:
Listar los registros de la tabla Clientes:

SELECT * FROM clientes

Bueno jóvenes de ahora nuestro conejillo de indias la base de datos Northwind.

Primer debemos abrir la base de datos

USE Nwind

Mostrar las tablas de la base de datos

Sp_help

TRANSACT

1. Listar los registros de la tabla Clientes

SELECT * FROM clientes

2. Listar los registros de la tabla Productos

SELECT * FROM Productos

3. Listar los registros de la tabla Pedidos

SELECT * FROM Pedidos

4. Listar el Numero de pedido, el código del cliente y la fecha


Tabla=Pedidos
Número de pedido=idpedido
Código del cliente=idcliente
Fecha=fechapedido

Ing Osmart Morales Chalco Guía Nº07 -Pag 2


Universidad Nacional del Callao
SELECT idpedido As "Nro de Pedido" ,idcliente As "Código del cliente", fechapedido
FROM pedidos

5. Listar los registros de la tabla Detalles de pedidos

SELECT * FROM [detalles de pedidos]

SELECT * FROM “detalles de pedidos”

6. Listar el subtotal de cada registro de la tabla Detalles de pedidos

SELECT *,peciounidad*cantidad-descuento As SubTotal FROM “detalles de pedidos”

7. Listar los registros de la tabla proveedores

SELECT * FROM proveedores

Cláusula distinct
Elimina las filas duplicadas de los resultados de una instrucción SELECT, si no se
especifica se devuelven todas las filas

8. Listar los paises de la tabla proveedores

SELECT DISTINCT país FROM proveedores

Ahora ordenado en forma ascendente, luego descendente

SELECT DISTINCT país FROM proveedores ORDER BY país

SELECT DISTINCT país FROM proveedores ORDER BY país DESC

USANDO CLAUSULA WHERE


Es un filtro que define las condiciones que debe cumplir cada fila de las tablas de origen
para satisfacer los requisitos de la instrucción SELECT. Sólo las filas que cumplen las
condiciones contribuyen con datos al conjunto de resultados.

Operadores de comparación
= , >, >, >=, <=, <>

Operadores lógicos
Comprueba la veracidad de alguna condición. Estos como los operadores de comparación,
devuelven el tipo de datos Booleano con valor TRUE o FALSE.

Ing Osmart Morales Chalco Guía Nº07 -Pag 3


Universidad Nacional del Callao
Operador Significado
ALL TRUE si el conjunto completo de comparaciones es TRUE
AND Si ambas expresiones booleanas son TRUE
BETWWEN TRUE si el operador está dentro de un intervalo
EXISTS TRUE si una de las subconsultas contiene a cualquiera de las filas
IN TRUE si el operando es igual a uno de la lista de expresiones.
LIKE TRUE si el operando coincide con un patrón.
NOT Invierte el valor de cualquier otro operando
OR TRUE si cualquiera de las dos expresiones booleanas es TRUE.

9. Listar el código del cliente, nombre de la compañía y el país de la Clientes, que


residan en alemania.

SELECT idcliente,nombrecompañía,país
FROM clientes WHERE país='alemania'

10. Listar el código del cliente, nombre de la compañía y el país de la Clientes, que
residan en alemania o francia, ordenado por le país en forma ascendente

SELECT idcliente,nombrecompañía,país
FROM clientes
WHERE país='alemania' or país ='francia'
ORDER BY país

11. Listar los productos proveedor con el código de la categoría igual a 1 y del
proveedor con el código 1

SELECT * FROM Productos WHERE idproveedor=1 AND idcategoría=1

12. Listar los productos con precio mayor a 20 y con el código del proveedor igual a 2

SELECT * FROM Productos WHERE preciounidad>20 and idproveedor=2

13. Listar los productos que pertenezcan a la categoría 1,2,3

SELECT * FROM Productos WHERE idcategoría=1 OR idcategoría =2 or idcategoría =3

También:

SELECT * FROM Productos WHERE idcategoría IN(1,3,5)

14. Listar los productos que tengan un precio comprendido entre 20 y 40

SELECT * FROM Productos WHERE preciounidad>=20 or preciounidad <=40

SELECT * FROM Productos WHERE preciounidad BETWEEN 20 AND 40

Ing Osmart Morales Chalco Guía Nº07 -Pag 4


Universidad Nacional del Callao

15. Listar los las fechas de los pedidos(Pedidos) entre el 1 de Mayo y el 31 de Mayo de
1996

SELECT * FROM pedidos WHERE fechapedido BETWEEN '1996-5-1' AND '1996-5-31'

USANDO COMODINES

% Cualquier cadena de 0 o más caracteres


[^] cualquier caracter único que no este dentro del rango especificado

16. El nombre de las compañías de la tabla clientes que empiecen con F

SELECT * FROM clientes WHERE nombrecompañía like 'F%'

17. Listar los clientes cuyo nombre del país termine en L

SELECT * FROM clientes WHERE país like '%L'

18. Listar los productos que empiecen con M, el Segundo character debe ser diferente
de a y luego cualquier caracter

SELECT * FROM Productos WHERE nombreproducto like 'M[^a]%'

Claúsula GROUP BY
Especifica los grupos en los que se van a colocar las filas de salida , si se incluyen
funciones de agregado en la cláusula SELECT <LISTASELCCIÓN>, CLACULA EL
VALOR DE RESUMEN DE CADA GRUPO. Cuando se utiliza la cláusula GROUP BY,
cada elemento de la lista de selección debe producir un valor único para cada grupo.

19. Listar el número de pedidos atendidos por cada empleado

SELECT idempleado, COUNT(idpedido) As "Nro de Pedido"


FROM pedidos
GROUP BY idempleado
ORDER BY count(idpedido) DESC

SELECT idempleado, COUNT(idpedido) As "Nro de Pedido"


FROM pedidos
GROUP BY idempleado
ORDER BY 2 DESC

Ing Osmart Morales Chalco Guía Nº07 -Pag 5


Universidad Nacional del Callao
20. Listar el número de pedido, el número de artículos en cada pedido y el monto de
cada pedido.

SELECT idpedido,SUM(cantidad) AS "Cantidad",


SUM(cantidad*preciounidad-descuento) AS "Monto"
FROM "detalles de pedidos"
GROUP BY idpedido

21. Listar el número de clientes (diferentes) atendido por cada empleado.

SELECT idempleado,COUNT(DISTINCT(idcliente)) AS "Clientes atendidos"


FROM pedidos
GROUP BY idempleado

22. Listar el código de la categoría, el promedio de precios y el número de artículos


por categoría

SELECT idcategoría,AVG(preciounidad) AS "Prom. de precios",


SUM(unidadesenexistencia) AS "Cantidad de prod. x categ."
FROM productos
GROUP BY idcategoría

23. Listar el número de pedidos atendidos por cada empleado, la cantidad de


pedidos debe ser mayor a 100

SELECT idempleado,COUNT(idpedido) AS "Can. de pedidos"


FROM pedidos
GROUP BY idempleado
HAVING COUNT(idpedido)>100

Ing Osmart Morales Chalco Guía Nº07 -Pag 6