Ir al contenido principal

Consulta ejemplo de BD NORTHWND


--La siguiente instrucción SQL selecciona todas las columnas de la tabla "clientes":
SELECT * FROM Customers;

--La siguiente instrucción SQL selecciona sólo los valores distintos de la columna "País" en la tabla "clientes":
SELECT DISTINCT Country FROM Customers;

--La siguiente instrucción SQL selecciona todos los clientes del país "México", en la tabla "clientes":
SELECT * FROM Customers
WHERE Country='Mexico';

--La siguiente instrucción SQL selecciona todos los campos de "Clientes", donde el país es "Alemania" Y la ciudad es "Berlin":
SELECT * FROM Customers
WHERE Country='Germany' AND City='Berlin';

--La siguiente instrucción SQL selecciona todos los campos de "Clientes", donde la ciudad es "Berlín" o "München":
SELECT * FROM Customers
WHERE City='Berlin' OR City='München';

--La siguiente instrucción SQL selecciona todos los campos de "Clientes", donde país no es "Alemania":
SELECT * FROM Customers
WHERE NOT Country='Germany';

--La siguiente instrucción SQL selecciona todos los clientes de la tabla "Clientes", ordenados por el "País" y la columna "CustomerName":
SELECT * FROM Customers
ORDER BY Country, CustomerName;

--La siguiente sentencia SQL inserta un nuevo registro en la tabla "clientes":
INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
VALUES ('Cardinal', 'Tom B. Erichsen', 'Skagen 21', 'Stavanger', '4006', 'Norway');

--La siguiente sentencia SQL utiliza el operador IS NULL para enumerar todas las personas que no tienen una dirección:
SELECT LastName, FirstName, Address FROM Persons
WHERE Address IS NULL;

--La siguiente sentencia SQL utiliza el operador IS NOT NULL para enumerar todas las personas que sí tienen una dirección:
SELECT LastName, FirstName, Address FROM Persons
WHERE Address IS NOT NULL;

--La siguiente sentencia SQL actualiza el primer cliente (IdCliente = 1) con una nueva persona de contacto y una nueva ciudad.
UPDATE Customers
SET ContactName = 'Alfred Schmidt', City= 'Frankfurt'
WHERE CustomerID = 1;

--La siguiente sentencia SQL elimina el cliente "Alfreds Futterkiste" de la tabla "clientes":
DELETE FROM Customers
WHERE CustomerName='Alfreds Futterkiste';

--La siguiente instrucción SQL selecciona los tres primeros registros de la tabla "clientes":
SELECT TOP 3 * FROM Customers;

--La siguiente instrucción SQL selecciona el primer 50% de los registros de la tabla "clientes":
SELECT TOP 50 PERCENT * FROM Customers;

--La siguiente sentencia SQL encuentra el precio del producto más barato:
SELECT MIN(Price) AS SmallestPrice
FROM Products;

--La siguiente sentencia SQL encuentra el precio del producto más caro:
SELECT MAX(Price) AS LargestPrice
FROM Products;

--Muestra el precio del producto mas barato
SELECT MIN(UnitPrice) AS SmallestPrice
FROM Products;

--Muestra el precio del producto más caro
SELECT MAX(UnitPrice) AS LargestPrice
FROM Products;

--Muestra el numero de productos
SELECT COUNT(ProductID)
FROM Products;

--Muestra el precio medio de todos los productos
SELECT AVG(UnitPrice)
FROM Products;

--Muestra la suma de los campos Cantidad en la tabla OrderDetails
SELECT SUM(Quantity)
FROM [Order Details];

--Muestra todos los clientes con un CustomerName comenzando por "a
SELECT * FROM Customers
WHERE ContactName LIKE 'a%';

--Muestra todos los clientes con un CustomerName que termina con "a"
SELECT * FROM Customers
WHERE ContactName LIKE '%a';

--Muestra todos los clientes con un CustomerName que tengan "o" en cualquier posición
SELECT * FROM Customers
WHERE ContactName LIKE '%or%';

--Muestra a todos los clientes con CustomerName que tienen "r" en la segunda posición:
SELECT * FROM Customers
WHERE ContactName LIKE '_r%';

--Muestra todos los clientes con CustomerName que comienza con "a" y tienen al menos 3 caracteres de longitud:
SELECT * FROM Customers
WHERE ContactName LIKE 'a_%_%';

--Muestra todos los clientes con un ContactName que comience con "a" y termine con "o"
SELECT * FROM Customers
WHERE ContactName LIKE 'a%o';

--Muestra todos los clientes con un CustomerName que NO empiece con "a
SELECT * FROM Customers
WHERE ContactName NOT LIKE 'a%';

--Muestra todos los clientes con una ciudad que comienza con "ber"
SELECT * FROM Customers
WHERE City LIKE 'ber%';

--Muestra todos los clientes con una Ciudad que contiene el patrón "es"
SELECT * FROM Customers
WHERE City LIKE '%es%';

--Muestra todos los clientes con una ciudad que comienza con cualquier carácter, seguido de "erlin"
SELECT * FROM Customers
WHERE City LIKE '_erlin';

--Muestra  todos los clientes con una Ciudad empezando por "L", seguido de cualquier carácter, seguido de "n", seguido de cualquier carácter, seguido de "on"
SELECT * FROM Customers
WHERE City LIKE 'L_n_on';

--Muestra todos los clientes con una ciudad que comienza con "b", "s" o "p"
SELECT * FROM Customers
WHERE City LIKE '[bsp]%';

--Muestra todos los clientes con una ciudad que comienza con "a", "b" o "c"
SELECT * FROM Customers
WHERE City LIKE '[a-c]%';

--Muestra todos los clientes con una Ciudad NO comenzando con "b", "s" o "p"
SELECT * FROM Customers
WHERE City LIKE '[!bsp]%';

SELECT * FROM Customers
WHERE City NOT LIKE '[bsp]%';

--Muestra todos los clientes que se encuentran en "Alemania", "Francia" y "Reino Unido"
SELECT * FROM Customers
WHERE Country IN ('Germany', 'France', 'UK');

--Muestra todos los clientes que NO se encuentran en "Alemania", "Francia" o "Reino Unido"
SELECT * FROM Customers
WHERE Country NOT IN ('Germany', 'France', 'UK');

--Muestra todos los clientes que son de los mismos países que los proveedores
SELECT * FROM Customers
WHERE Country IN (SELECT Country FROM Suppliers);

--Muestra todos los productos con un precio ENTRE 10 y 20
SELECT * FROM Products
WHERE UnitPrice BETWEEN 10 AND 20;

SELECT * FROM Products
WHERE UnitPrice NOT BETWEEN 10 AND 20;

--Muestra todos los productos con un precio ENTRE 10 y 20. Además, no muestran productos con un ID de categoría de 1,2 o 3
SELECT * FROM Products
WHERE (UnitPrice BETWEEN 10 AND 20)
AND NOT CategoryID IN (1,2,3);

SELECT * FROM Products
WHERE ProductName BETWEEN 'Carnarvon Tigers' AND 'Mozzarella di Giovanni'
ORDER BY ProductName;

SELECT * FROM Products
WHERE ProductName NOT BETWEEN 'Carnarvon Tigers' AND 'Mozzarella di Giovanni'
ORDER BY ProductName;

--AS
SELECT CustomerID as ID, ContactName AS Customer
FROM Customers;

SELECT ContactName AS Customer, ContactName AS [Contact Person]
FROM Customers;

SELECT ContactName, Address + ', ' + PostalCode + ' ' + City + ', ' + Country AS Address
FROM Customers;

SELECT ContactName, CONCAT(Address,', ',PostalCode,', ',City,', ',Country) AS Address
FROM Customers;

SELECT o.OrderID, o.OrderDate, c.ContactName
FROM Customers AS c, Orders AS o
WHERE c.ContactName ='Around the Hom' AND c.CustomerID=o.CustomerID;

SELECT Orders.OrderID, Orders.OrderDate, Customers.ContactName
FROM Customers, Orders
WHERE Customers.ContactName= 'Around the Horn' AND Customers.CustomerID=Orders.CustomerID;

--INNER JOIN
SELECT Orders.OrderID, Customers.ContactName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;

SELECT Orders.OrderID, Customers.ContactName, Shippers.CompanyName
FROM ((Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID)
INNER JOIN Shippers ON Orders.OrderID = Shippers.ShipperID);

--LEFT JOIN
SELECT Customers.ContactName, Orders.OrderID
FROM Customers
LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID
ORDER BY Customers.ContactName;

--RIGHT JOIN
SELECT Orders.OrderID, Employees.LastName, Employees.FirstName
FROM Orders
RIGHT JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID
ORDER BY Orders.OrderID;

--FULL OUTER JOIN
SELECT Customers.ContactName, Orders.OrderID
FROM Customers
FULL OUTER JOIN Orders ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.ContactName;

--UNION
SELECT City FROM Customers
UNION
SELECT City FROM Suppliers
ORDER BY City;

SELECT City FROM Customers
UNION ALL
SELECT City FROM Suppliers
ORDER BY City;

SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;

SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION ALL
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;

SELECT 'Customer' As Type, ContactName, City, Country
FROM Customers
UNION
SELECT 'Supplier', ContactName, City, Country
FROM Suppliers;

--GROUP BY
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country;

SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
ORDER BY COUNT(CustomerID) DESC;

SELECT Shippers.CompanyName, COUNT(Orders.OrderID) AS NumberOfOrders FROM Orders
LEFT JOIN Shippers ON Orders.OrderID = Shippers.ShipperID
GROUP BY CompanyName;

--HAVING
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
HAVING COUNT(CustomerID) > 5;

SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
HAVING COUNT(CustomerID) > 5
ORDER BY COUNT(CustomerID) DESC;

SELECT Employees.LastName, COUNT(Orders.OrderID) AS NumberOfOrders
FROM (Orders
INNER JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID)
GROUP BY LastName
HAVING COUNT(Orders.OrderID) > 10;

SELECT Employees.LastName, COUNT(Orders.OrderID) AS NumberOfOrders
FROM Orders
INNER JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID
WHERE LastName = 'Davolio' OR LastName = 'Fuller'
GROUP BY LastName
HAVING COUNT(Orders.OrderID) > 25

--EXISTS
SELECT CompanyName
FROM Suppliers
WHERE EXISTS (SELECT ProductName FROM Products WHERE SupplierId = Suppliers.supplierId AND UnitPrice < 20);

SELECT CompanyName
FROM Suppliers
WHERE EXISTS (SELECT ProductName FROM Products WHERE SupplierId = Suppliers.supplierId AND UnitPrice = 22);

--SELECT INTO
SELECT * INTO CustomersBackup2017
FROM Customers;

SELECT CompanyName, ContactName INTO CustomersBackup2016
FROM Customers;

SELECT * INTO CustomersGermany
FROM Customers
WHERE Country = 'Germany';

SELECT Customers.CompanyName, Orders.OrderID
INTO CustomersOrderBackup2017
FROM Customers
LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID;

Comentarios

Entradas populares de este blog

Sintaxis de SQL

Escribe el uso de cada instrucción en SQL: INSTRUCCIÓN USO SINTAXIS SELECT Se usa para seleccionar datos de la base de datos. Select*from table_name SELECT DISTINCT Se usa para regresar solo distintos  o diferentes valores. Select distinct column1, column2 … From teble_name WHERE  Se usa para extraer solo los registros que cumplen una condición específica. Select column1, column2 From table_name Where condition AND Dice que si todas las condiciones separadas por “y”  se cumplen el operador realizara la función. SELECT  column1 ,  column2, ... FROM  table_name WHERE  condition1  AND  condition2  AND  condition3 ... ; OR El operador se muestra si una de las condiciones de “or” se cumple. SELECT  column1 ,  column2, ... FROM  table_na...

Consultas con WHERE e INNER JOIN

select Profesores.Nombre, Cursos.IdCursos from  Profesores, Cursos where Cursos.IdProfesores = Profesores.IdProfesores and Cursos.IdCursos = 2 SELECT Profesores.Nombre, Cursos.IdCursos FROM Cursos INNER JOIN Profesores ON Cursos.IdProfesores = Profesores.IdProfesores and Cursos.IdCursos = 2 --Selecciona el nombre de la materia del alumno con clave 170576 select Materias.Nombre, Alumnos.clave from Materias, Alumnos, Cursos, HorarioAlumnos where HorarioAlumnos.IdCursos = Cursos.IdCursos and Cursos.IdMaterias = Materias.IdMaterias and HorarioAlumnos.IdAlumnos = Alumnos.IdAlumnos and Alumnos.clave = 170576 SELECT Materias.Nombre, Alumnos.clave FROM Alumnos INNER JOIN HorarioAlumnos ON HorarioAlumnos.IdAlumnos = Alumnos.IdAlumnos INNER JOIN Cursos ON HorarioAlumnos.IdCursos  = Cursos.IdCursos INNER JOIN Materias ON Cursos.IdMaterias = Materias.IdMaterias WHERE Alumnos.clave = 170576 --Seleccionas el nombre del profesor que da la materia Contabilidad aplicada se...