0% encontró este documento útil (0 votos)
9 vistas7 páginas

auto02

El documento proporciona una serie de ejercicios y consultas SQL utilizando MySQL, incluyendo operadores de conjuntos, uniones, y condiciones lógicas. Se presentan ejemplos de sentencias SQL para obtener información sobre empleados y clientes, así como para realizar uniones y filtrados. Además, se solicita a los usuarios que registren sus resultados y problemas en un archivo específico.
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 DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
9 vistas7 páginas

auto02

El documento proporciona una serie de ejercicios y consultas SQL utilizando MySQL, incluyendo operadores de conjuntos, uniones, y condiciones lógicas. Se presentan ejemplos de sentencias SQL para obtener información sobre empleados y clientes, así como para realizar uniones y filtrados. Además, se solicita a los usuarios que registren sus resultados y problemas en un archivo específico.
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 DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 7

A. Realicen los ejercicios propuestos en los siguientes tutoriales.

Utilice el motor MySQL.


[Para los casos, escriban la sentencia en SQL en auto02.doc. Ejecuten la
sentencia SQL en sqlzoo . Si no
lograron escribir alguna sentencia indiquen el punto de problema
Para los quices, incluyan el puntaje logrado en auto02.doc]
Quices:
1.

2.

3.

C.
1. Consultas para cada operador de conjuntos (UNION, UNION ALL,
INTERSECT, EXCEPT)
1.1 UNION
Pregunta: Obtén una lista de todos los empleados y clientes con su nombre y
apellido, sin duplicados.

SELECT FirstName, LastName FROM Person.Person WHERE PersonType = 'EM'


UNION
SELECT FirstName, LastName FROM Person.Person WHERE PersonType = 'SC';

1.2 UNION ALL


Pregunta: Obtén una lista de todos los empleados y clientes con su
nombre y apellido, incluyendo duplicados.
SELECT FirstName, LastName FROM Person.Person WHERE PersonType = 'EM'
UNION ALL
SELECT FirstName, LastName FROM Person.Person WHERE PersonType = 'SC';

1.3 INTERSECT
Pregunta: Encuentra los nombres y apellidos que son tanto empleados
como clientes.
SELECT FirstName, LastName FROM Person.Person WHERE PersonType = 'EM'
INTERSECT
SELECT FirstName, LastName FROM Person.Person WHERE PersonType = 'SC';
1.4 EXCEPT
Pregunta: Lista los empleados que no son clientes.
SELECT FirstName, LastName FROM Person.Person WHERE PersonType = 'EM'
EXCEPT
SELECT FirstName, LastName FROM Person.Person WHERE PersonType = 'SC';
2. Consultas para cada operador de junta (JOIN, LEFT JOIN, RIGHT JOIN,
FULL OUTER JOIN, CROSS JOIN, SELF JOIN)
2.1 INNER JOIN
Pregunta: Obtén la lista de pedidos con la información de los clientes
que los realizaron.
SELECT SalesOrderID, CustomerID, FirstName, LastName
FROM Sales.SalesOrderHeader
INNER JOIN Person.Person ON Sales.SalesOrderHeader.CustomerID =
Person.BusinessEntityID;

2.2 LEFT JOIN


Pregunta: Obtén la lista de clientes y sus pedidos, incluyendo clientes
sin pedidos.
SELECT FirstName, LastName, SalesOrderID
FROM Person.Person
LEFT JOIN Sales.SalesOrderHeader ON Person.BusinessEntityID =
Sales.SalesOrderHeader.CustomerID;
2.3 RIGHT JOIN
Pregunta: Obtén la lista de pedidos y los clientes que los realizaron,
incluyendo pedidos sin cliente asociado.
SELECT FirstName, LastName, SalesOrderID
FROM Person.Person
RIGHT JOIN Sales.SalesOrderHeader ON Person.BusinessEntityID =
Sales.SalesOrderHeader.CustomerID;
2.4 FULL OUTER JOIN
Pregunta: Obtén todos los clientes y pedidos, incluso si no tienen
relación entre sí.
SELECT FirstName, LastName, SalesOrderID
FROM Person.Person
FULL OUTER JOIN Sales.SalesOrderHeader ON Person.BusinessEntityID =
Sales.SalesOrderHeader.CustomerID;
2.5 CROSS JOIN
Pregunta: Crea una combinación de todos los empleados y sus
posibles roles en el departamento.
SELECT p.FirstName, p.LastName, d.Name AS DepartmentName
FROM HumanResources.Employee e
CROSS JOIN HumanResources.Department d;
2.6 SELF JOIN
Pregunta: Obtén los nombres de los empleados y sus gerentes.
SELECT e1.FirstName AS Employee, e2.FirstName AS Manager
FROM HumanResources.Employee e1
JOIN HumanResources.Employee e2 ON e1.ManagerID = e2.BusinessEntityID;
3. Consultas para cada operador de desconocido (IS NULL, IS NOT
NULL)
3.1 IS NULL
Pregunta: Encuentra empleados sin un número de teléfono registrado.
SELECT FirstName, LastName FROM Person.Person WHERE Phone IS NULL;
3.2 IS NOT NULL
Pregunta: Encuentra empleados que tienen un número de teléfono
registrado.
SELECT FirstName, LastName FROM Person.Person WHERE Phone IS NOT NULL;
4. Consultas para cada operador lógico (AND, OR, NOT)
4.1 AND
Pregunta: Encuentra empleados que trabajan en el departamento de
Ventas y tienen más de 5 años en la empresa.
SELECT FirstName, LastName FROM HumanResources.Employee
WHERE Department = 'Sales' AND DATEDIFF(YEAR, HireDate, GETDATE()) > 5;
4.2 OR
Pregunta: Encuentra empleados que trabajan en los departamentos de
Ventas o Finanzas.
SELECT FirstName, LastName FROM HumanResources.Employee
WHERE Department = 'Sales' OR Department = 'Finance';
4.3 NOT
Pregunta: Encuentra empleados que NO trabajan en el departamento
de Ventas.
SELECT FirstName, LastName FROM HumanResources.Employee
WHERE NOT Department = 'Sales';
5. Consulta con operador CASE
Pregunta: Muestra el nombre de los empleados y su nivel de
antigüedad en la empresa.
SELECT FirstName, LastName,
CASE
WHEN DATEDIFF(YEAR, HireDate, GETDATE()) < 2 THEN 'Nuevo'
WHEN DATEDIFF(YEAR, HireDate, GETDATE()) BETWEEN 2 AND 5 THEN
'Intermedio'
ELSE 'Experimentado'
END AS Nivel_Antigüedad
FROM HumanResources.Employee;

También podría gustarte