100% encontró este documento útil (1 voto)
134 vistas5 páginas

LAB003

El documento presenta ejemplos de consultas SQL realizadas sobre diferentes bases de datos y tablas. Se muestran consultas básicas de selección, proyección, ordenamiento y filtrado de datos, así como ejemplos del uso de operadores lógicos, condiciones y funciones. También incluye ejemplos de consultas que unen tablas mediante joins para recuperar datos de múltiples tablas de manera relacionada.

Cargado por

David Jd
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
134 vistas5 páginas

LAB003

El documento presenta ejemplos de consultas SQL realizadas sobre diferentes bases de datos y tablas. Se muestran consultas básicas de selección, proyección, ordenamiento y filtrado de datos, así como ejemplos del uso de operadores lógicos, condiciones y funciones. También incluye ejemplos de consultas que unen tablas mediante joins para recuperar datos de múltiples tablas de manera relacionada.

Cargado por

David Jd
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd

/* LAB03 - CONSULTAS SOBRE BASES DE DATOS */

-- EN LA BD PRUEBA
-- Mostrar el nombre y apellido de los empleados --

USE PRUEBA
GO

SELECT * FROM EMPLEADOS;

-- Equivalente al operador de Proyecci?n (PI) en AR


SELECT NOMBRE, APELLIDO
FROM EMPLEADOS

-- Muestre apellido y nombre de los empleados ordenado alfab?ticamente


SELECT NOMBRE, APELLIDO
FROM EMPLEADOS
ORDER BY APELLIDO, NOMBRE

-- Muestre el apellido y nombre de los empleados que tienen un sueldo mayor a $1000
-- ordenado ascendentemente por sueldo

SELECT APELLIDO,NOMBRE,SUELDO
FROM EMPLEADOS
WHERE SUELDO > 1000
ORDER BY SUELDO

select * from EMPLEADOS

-- Utilizar operador LIKE.


-- Mostrar c?digo, apellido y nombre y fecha de ingreso de los empleados cuyo
apellido
-- empiece con las letras AN.

SELECT CodEmple, apellido, nombre, fechaingreso


from EMPLEADOS
where apellido LIKE 'AN%'

-- Mostrar el apellido, nombre y sueldo de los empleados cuyo apellido empieza con
-- 'C'

SELECT CodEmple, apellido, nombre, fechaingreso


from EMPLEADOS
where apellido LIKE 'C%'

-- operador between
-- Mostrar el apellido, nombre y sueldo de los empleados cuyos sueldos est?n entre
-- 800 a 1200

SELECT apellido, nombre, sueldo


from EMPLEADOS
where sueldo BETWEEN 800 and 1200

SELECT apellido, nombre, sueldo


from EMPLEADOS
where sueldo >= 800 and sueldo <= 1200

select * from departamentos


select * from cargos

USE PEDIDOS
GO

-- Probar la condici?n IS NULL

select * from clientes

-- Muestre los clientes que tienen un celular con valor nulo

select NOMBRECIA
from CLIENTES
where CELULAR is null

-- Muestre a las compa??as clientes que son SUPERMERCADOS (su nombre incluye la
-- palabra SUPERMERCADO. Despliegue en orden alfab?tico.

select * from clientes


select NOMBRECIA
FROM CLIENTES
WHERE NOMBRECIA LIKE 'SUPERMERCADO%'
ORDER BY NOMBRECIA

-- Muestre la lista de los proveedores (todos los campos), que son de la ciudad de
-- Quito

ALTER TABLE PROVEEDORES ADD CIUDAD CHAR(30)


SELECT * FROM PROVEEDORES

UPDATE PROVEEDORES
SET CIUDAD = 'QUITO'
WHERE PROVEEDORID < 50

UPDATE PROVEEDORES
SET CIUDAD = 'GUAYAQUIL'
WHERE PROVEEDORID > 50

SELECT * FROM PROVEEDORES


WHERE CIUDAD = 'QUITO'

-- JUNTURA ENTRE TABLAS


-- JOIN: OPERADOR DE JUNTURA EN SQL

-- Muestre el c?digo, el nombre del producto, el c?digo de la categor?a


-- y el nombre de la categor?a

select * from productos


select * from CATEGORIAS

select productoid, proveedorid, P.categoriaid, descripcion, preciounit, nombrecat


from CATEGORIAS C join PRODUCTOS P
ON (C.CATEGORIAID = P.CATEGORIAID)
ORDER BY DESCRIPCION

-- Muestre el c?digo del producto, su descripci?n, su precio unitario y el nombre


-- de su proveedor

SELECT productoid, descripcion, preciounit, nombreprov


from PRODUCTOS P join PROVEEDORES Pv
on (P.PROVEEDORID = Pv.PROVEEDORID)

-- Muestre el c?digo del producto, su descripci?n, su precio unitario, el nombre


-- de la categor?a a la que pertenece y el nombre de su proveedor.

SELECT productoid, descripcion, preciounit, nombrecat, nombreprov


from PRODUCTOS P join CATEGORIAS C
on (P.CATEGORIAID = C.CATEGORIAID)
join PROVEEDORES Pv
on (P.PROVEEDORID = Pv.PROVEEDORID)

-- Muestre el n?mero de orden, fecha de la orden, nombre de la compa??a cliente


-- apellido y nombre del empleado que atendi? la orden

select ORDENID, fechaorden, nombrecia, apellido, nombre


from ORDENES O JOIN CLIENTES C
ON (O.CLIENTEID = C.CLIENTEID)
JOIN EMPLEADOS E
ON (O.EMPLEADOID = E.EMPLEADOID)
ORDER BY ORDENID

select ORDENID, fechaorden AS 'Fecha de orden', nombrecia as 'CLIENTE',


apellido AS 'APELLIDO EMPLEADO', nombre AS 'NOMBRE EMPLEADO'
from ORDENES O JOIN CLIENTES C
ON (O.CLIENTEID = C.CLIENTEID)
JOIN EMPLEADOS E
ON (O.EMPLEADOID = E.EMPLEADOID)
ORDER BY ORDENID

-- Mostrar las ?rdenes de pedidos realizados por el cliente SUPERMERCADO DORADO.

select ORDENID, fechaorden, nombrecia, apellido, nombre


from ORDENES O JOIN CLIENTES C
ON (O.CLIENTEID = C.CLIENTEID)
JOIN EMPLEADOS E
ON (O.EMPLEADOID = E.EMPLEADOID)
WHERE NOMBRECIA = 'SUPERMERCADO DORADO'
ORDER BY ORDENID

select ORDENID, fechaorden, apellido, nombre


from ORDENES O JOIN CLIENTES C
ON (O.CLIENTEID = C.CLIENTEID)
JOIN EMPLEADOS E
ON (O.EMPLEADOID = E.EMPLEADOID)
WHERE NOMBRECIA = 'SUPERMERCADO DORADO'
ORDER BY ORDENID

--- En relaciones recursivas

select * from EMPLEADOS

-- Mostrar el apellido y nombre de los empleados y el apellido y nombre


-- de su jefe inmediato.

select E.apellido as 'Apellido Emp.', E.nombre as 'Nombre Emp.',


J.apellido as 'Apellido Jefe', J.nombre as 'Nombre Jefe'
from EMPLEADOS E join EMPLEADOS J
on (E.REPORTA_A = J.EMPLEADOID)

-- Muestre el apellido y nombre del empleado que es el Jefe m?ximo (que


-- no tiene a un jefe inmediato)

select apellido, nombre


from empleados
where REPORTA_A is NULL

-- En la BD PRUEBA

USE PRUEBA
GO

select * from departamentos

--1. Muestre a los empleados (apellido y nombre) que tienen el cargo ANALISTA.
select apellido, nombre, nomcargo
from empleados e join cargos c
on e.cargo = c.CodCargo
where nomcargo = 'ANALISTA'

--2. Muestre a los empleados que tienen el cargo de GERENTE y que ganan m?s
-- de 1200.

select apellido, nombre


from empleados e join cargos c
on e.cargo = c.CodCargo
where nomcargo = 'GERENTE' and sueldo > 1200

--3. Muestre el apellido y nombre de los empleados, el nombre del cargo que
-- ocupan y el nombre del departamento donde trabajan

select apellido, nombre, nomcargo, nomDepar


from empleados e join cargos c
on e.cargo = c.CodCargo
join departamentos d
on e.departamento = d.CodDepar

--4. Muestre a los empleados que trabajan en el departamento de COMERCIALIZACION

select apellido, nombre, nomDepar


from empleados e join departamentos d
on e.departamento = d.CodDepar
where nomDepar = 'COMERCIALIZACION'

--5. Muestre a los empleados que tienen un sueldo menor al sueldo m?ximo del
-- cargo que desempe?an

select apellido, nombre, sueldo, nomcargo, sueldomax


from empleados e join cargos c
on (e.cargo = c.CodCargo)
where sueldo < sueldomax

-- OPERACIONES CON VARIAS TABLAS USANDO CONDICION WHERE

--1. Muestre a los empleados (apellido y nombre) que tienen el cargo ANALISTA.

select apellido, nombre, nomcargo


from empleados e join cargos c
on e.cargo = c.CodCargo
where nomcargo = 'ANALISTA'

select apellido, nombre, nomcargo


from empleados e, cargos c
where e.cargo = c.CodCargo
and nomcargo = 'ANALISTA'

--2. Muestre a los empleados que tienen el cargo de GERENTE y que ganan m?s
-- de 1200.

select apellido, nombre


from empleados e join cargos c
on e.cargo = c.CodCargo
where nomcargo = 'GERENTE' and sueldo > 1200

select apellido, nombre


from empleados e, cargos c
where e.cargo = c.CodCargo
and nomcargo = 'GERENTE' and sueldo > 1200

USE PEDIDOS
GO

-- Utilizando condiciones WHERE realice las siguientes consultas

-- Muestre el n?mero de orden, el nombre del cliente y el apellido y nombre


-- del empleado que atendi? la orden
select * from ordenes

select ordenid, nombrecia, apellido, nombre


from ordenes, clientes, empleados
where ordenes.clienteid = clientes.clienteid
and ordenes.empleadoid = empleados.empleadoid
order by ordenid

--- USO DE FUNCIONES

select * from empleados

-- Concatenar cadenas (operador +)

select nombre, apellido


from empleados

select nombre + apellido as 'Nombre del empleado'


from empleados

select rtrim(nombre) + ' ' + apellido as 'Nombre del empleado'


from empleados

select * from ordenes

select ordenid, nombrecia, cast (fechaorden as char(12)) as 'Fecha de orden'


from ordenes, clientes
where ordenes.clienteid = clientes.clienteid

También podría gustarte