EJERCICIOS SQL Crear la tabla northwind CREATE DATABASE northwind; Abrir la base de datos para su uso USE northwind; Cre
Views 167 Downloads 10 File size 144KB
EJERCICIOS SQL Crear la tabla northwind CREATE DATABASE northwind; Abrir la base de datos para su uso USE northwind; Creación de tablas:
Tabla customers
CREATE TABLE customers ( CustomerID CHAR (5) NOT NULL , CompanyName VARCHAR (40) NOT NULL , ContactName VARCHAR (30) NULL , ContactTitle VARCHAR (30) NULL , Address VARCHAR (60) NULL , City VARCHAR (15) NULL , Region VARCHAR (15) NULL , PostalCode VARCHAR (10) NULL , Country VARCHAR (15) NULL , Phone VARCHAR (24) NULL , Fax VARCHAR (24) NULL , CONSTRAINT PK_Customers PRIMARY KEY CLUSTERED ( CustomerID ) );
Obtenemos el siguiente resultado:
Ingreso de datos a los campos de la tabal northwind Uso de Ejecute las siguientes instrucciones: INSERT INTO Customers VALUES('ALFKI','Alfreds Futterkiste','Maria Anders','Sales Representative','Obere Str. 57','Berlin',NULL,'12209','Germany','030-0074321','030-0076545'); INSERT INTO Customers VALUES('ANATR','Ana Trujillo Emparedados y helados','Ana Trujillo','Owner','Avda. de la Constitución 2222','México D.F.',NULL,'05021','Mexico','(5) 555-4729','(5) 555-3745'); INSERT INTO Customers VALUES('ANTON','Antonio Moreno Taquería','Antonio Moreno','Owner','Mataderos 2312','México D.F.',NULL,'05023','Mexico','(5) 555-3932',NULL); INSERT INTO Customers VALUES('AROUT','Around the Horn','Thomas Hardy','Sales Representative','120 Hanover Sq.','London',NULL,'WA1 1DP','UK','(171) 555-7788','(171) 555-6750'); INSERT INTO Customers VALUES('BERGS','Berglunds snabbköp','Christina Berglund','Order Administrator','Berguvsvägen 8','Luleå',NULL,'S-958 22','Sweden','0921-12 34 65','0921-12 34 67'); INSERT INTO Customers VALUES('BLAUS','Blauer See Delikatessen','Hanna Moos','Sales Representative','Forsterstr. 57','Mannheim',NULL,'68306','Germany','0621-08460','0621-08924'); INSERT INTO Customers VALUES('BLONP','Blondesddsl père et fils','Frédérique Citeaux','Marketing Manager','24, place Kléber','Strasbourg',NULL,'67000','France','88.60.15.31','88.60.15.32'); INSERT INTO Customers VALUES('BOLID','Bólido Comidas preparadas','Martín Sommer','Owner','C/ Araquil, 67','Madrid',NULL,'28023','Spain','(91) 555 22 82','(91) 555 91 99'); INSERT INTO Customers VALUES('BONAP','Bon app''','Laurence Lebihan','Owner','12, rue des
Bouchers','Marseille',NULL,'13008','France','91.24.45.40','91.24.45.41'); INSERT INTO Customers VALUES('BOTTM','Bottom-Dollar Markets','Elizabeth Lincoln','Accounting Manager','23 Tsawassen Blvd.','Tsawassen','BC','T2F 8M4','Canada','(604) 555-4729','(604) 555-3745');
Se visualizarán los resultados:
Ejercicios 01 Continúe con el ingreso de datos a la tabla customers, ejecute las siguientes instrucciones y compruebe los resultados mostrándolos al docente: INSERT
INTO
Customers
VALUES('BSBEV','B''s
Beverages','Victoria
Representative','Fauntleroy Circus','London',NULL,'EC2 5NT','UK','(171) 555-1212',NULL);
Ashworth','Sales
INSERT
INTO
Customers
VALUES('CACTU','Cactus
Comidas
para
llevar','Patricio
Simpson','Sales
Agent','Cerrito 333','Buenos Aires',NULL,'1010','Argentina','(1) 135-5555','(1) 135-4892'); INSERT INTO Customers VALUES('CENTC','Centro comercial Moctezuma','Francisco Chang','Marketing Manager','Sierras de Granada 9993','México D.F.',NULL,'05022','Mexico','(5) 555-3392','(5) 555-7293'); INSERT
INTO
Customers
VALUES('CHOPS','Chop-suey
Chinese','Yang
Wang','Owner','Hauptstr.
29','Bern',NULL,'3012','Switzerland','0452-076545',NULL); INSERT INTO Customers VALUES('COMMI','Comércio Mineiro','Pedro Afonso','Sales Associate','Av. dos Lusíadas, 23','Sao Paulo','SP','05432-043','Brazil','(11) 555-7647',NULL); INSERT
INTO
Customers
VALUES('CONSH','Consolidated
Holdings','Elizabeth
Brown','Sales
Representative','Berkeley Gardens 12 Brewery','London',NULL,'WX1 6LT','UK','(171) 555-2282','(171) 5559199'); INSERT
INTO
Customers
VALUES('DRACD','Drachenblut
Delikatessen','Sven
Ottlieb','Order
Administrator','Walserweg 21','Aachen',NULL,'52066','Germany','0241-039123','0241-059428'); INSERT INTO Customers VALUES('DUMON','Du monde entier','Janine Labrune','Owner','67, rue des Cinquante Otages','Nantes',NULL,'44000','France','40.67.88.88','40.67.89.89'); INSERT
INTO
Customers
VALUES('EASTC','Eastern
Connection','Ann
Devon','Sales
Agent','35
King
George','London',NULL,'WX3 6FW','UK','(171) 555-0297','(171) 555-3373'); INSERT INTO Customers VALUES('ERNSH','Ernst Handel','Roland Mendel','Sales Manager','Kirchgasse 6','Graz',NULL,'8010','Austria','7675-3425','7675-3426');
INSERT INTO Customers VALUES('FAMIA','Familia Arquibaldo','Aria Cruz','Marketing Assistant','Rua Orós, 92','Sao Paulo','SP','05442-030','Brazil','(11) 555-9857',NULL); INSERT INTO Customers VALUES('FISSA','FISSA Fabrica Inter. Salchichas S.A.','Diego Roel','Accounting Manager','C/ Moralzarzal, 86','Madrid',NULL,'28034','Spain','(91) 555 94 44','(91) 555 55 93'); INSERT INTO Customers VALUES('FOLIG','Folies gourmandes','Martine Rancé','Assistant Sales Agent','184, chaussée de Tournai','Lille',NULL,'59000','France','20.16.10.16','20.16.10.17'); INSERT
INTO
Customers
VALUES('FOLKO','Folk
och
fä
HB','Maria
Larsson','Owner','Åkergatan
24','Bräcke',NULL,'S-844 67','Sweden','0695-34 67 21',NULL); INSERT INTO Customers VALUES('FRANK','Frankenversand','Peter Franken','Marketing Manager','Berliner Platz 43','München',NULL,'80805','Germany','089-0877310','089-0877451'); INSERT INTO Customers VALUES('FRANR','France restauration','Carine Schmitt','Marketing Manager','54, rue Royale','Nantes',NULL,'44000','France','40.32.21.21','40.32.21.20'); INSERT INTO Customers VALUES('FRANS','Franchi S.p.A.','Paolo Accorti','Sales Representative','Via Monte Bianco 34','Torino',NULL,'10100','Italy','011-4988260','011-4988261'); INSERT
INTO
Customers
VALUES('FURIB','Furia Bacalhau
e
Frutos do
Mar','Lino
Rodriguez','Sales
Manager','Jardim das rosas n. 32','Lisboa',NULL,'1675','Portugal','(1) 354-2534','(1) 354-2535'); INSERT
INTO
Customers
VALUES('GALED','Galería
del
gastrónomo','Eduardo
Saavedra','Marketing
Manager','Rambla de Cataluña, 23','Barcelona',NULL,'08022','Spain','(93) 203 4560','(93) 203 4561'); INSERT INTO Customers VALUES('GODOS','Godos Cocina Típica','José Pedro Freyre','Sales Manager','C/ Romero, 33','Sevilla',NULL,'41101','Spain','(95) 555 82 82',NULL);
INSERT INTO Customers VALUES('GOURL','Gourmet Lanchonetes','André Fonseca','Sales Associate','Av. Brasil, 442','Campinas','SP','04876-786','Brazil','(11) 555-9482',NULL); INSERT
INTO
Customers
VALUES('GREAL','Great
Lakes
Food
Market','Howard
Snyder','Marketing
Manager','2732 Baker Blvd.','Eugene','OR','97403','USA','(503) 555-7555',NULL); INSERT INTO Customers VALUES('GROSR','GROSELLA-Restaurante','Manuel Pereira','Owner','5ª Ave. Los Palos Grandes','Caracas','DF','1081','Venezuela','(2) 283-2951','(2) 283-3397'); INSERT INTO Customers VALUES('HANAR','Hanari Carnes','Mario Pontes','Accounting Manager','Rua do Paço, 67','Rio de Janeiro','RJ','05454-876','Brazil','(21) 555-0091','(21) 555-8765'); INSERT
INTO
Customers
VALUES('HILAA','HILARION-Abastos','Carlos
Hernández','Sales
Representative','Carrera 22 con Ave. Carlos Soublette #8-35','San Cristóbal','Táchira','5022','Venezuela','(5) 555-1340','(5) 555-1948'); INSERT
INTO
Customers
VALUES('HUNGC','Hungry
Coyote
Import
Store','Yoshi
Latimer','Sales
Representative','City Center Plaza 516 Main St.','Elgin','OR','97827','USA','(503) 555-6874','(503) 5552376'); INSERT
INTO
Customers
VALUES('HUNGO','Hungry
Owl
All-Night
Grocers','Patricia
McKenna','Sales
Associate','8 Johnstown Road','Cork','Co. Cork',NULL,'Ireland','2967 542','2967 3333'); INSERT INTO Customers VALUES('ISLAT','Island Trading','Helen Bennett','Marketing Manager','Garden House Crowther Way','Cowes','Isle of Wight','PO31 7PJ','UK','(198) 555-8888',NULL); INSERT INTO Customers VALUES('KOENE','Königlich Essen','Philip Cramer','Sales Associate','Maubelstr. 90','Brandenburg',NULL,'14776','Germany','0555-09876',NULL);
INSERT INTO Customers VALUES('LACOR','La corne d''abondance','Daniel Tonini','Sales Representative','67, avenue de l''Europe','Versailles',NULL,'78000','France','30.59.84.10','30.59.85.11');
CONSULTAS Ejemplo con select: Muestre el nombre de la compñía y el nombre de contacto cuya ciudad sea México D.F. SELECT CompanyName, ContactName FROM customers WHERE City = "México D.F.";
Usando alias (tÍtulos personalidos a los nombres de los campos de la tabla): Muestre el nombre de la compañía, el país y la dirección de la tabla customers. Deberá aplicar Títulos (Alias) a las columnas. SELECT CompanyName AS "Compañía", Country AS "País", Address AS "Dirección" FROM customers WHERE Country ="Spain" OR Country="Argentina";
Se visualizarán los resultados:
Observar los títulos que tienen las columnas en el resultado, no son los mismos de los camps de la tabla, son los “Alias” que hemos dado. Ejercicios 02 – Consultas aplicando Alias (Títulos) Realizar 10 consultas para visualizar los diferentes campos de la tabla customers, aplicando títulos a los campos, compruebe y muestre los resultados a docente. Ejercicios 03 - Creación de Tablas Crear la tabla productos con los siguientes campos: CREATE TABLE Products ( ProductID INT (1) NOT NULL ,
ProductName VARCHAR (40) NOT NULL , QuantityPerUnit VARCHAR (20) NULL , UnitPrice FLOAT NULL, UnitsInStock SMALLINT NULL, CONSTRAINT PK_Products PRIMARY KEY CLUSTERED ( ProductID ) ); Ejercicio: Ingresar los datos indicados en el cuadro siguiente para los campos de la tabla productos. Debe crear las líneas de instruccion SQL necesarias para ello, compruebe y muestre los resultados al docente: ProductID
ProductName
1
'Chai'
2
'Chang'
3
'Aniseed Syrup'
QuantityPerUnit '10 boxes x 20 bags'
UnitPrice
UnitsInStock
18
39
'24 - 12 oz bottles'
19
17
'12 - 550 ml bottles'
10
13
4
'Chef
Anton''s
Cajun '48 - 6 oz jars'
22
53
21.35
0
25
120
Dried '12 - 1 lb pkgs.'
30
15
8
'Northwoods Cranberry Sauce' '12 - 12 oz jars'
40
6
9
'Mishi Kobe Niku'
'18 - 500 g pkgs.'
97
29
10
'Ikura'
'12 - 200 ml jars'
31
31
11
'Queso Cabrales'
'1 kg pkg.'
21
22
12
'Queso Manchego La Pastora'
'10 - 500 g pkgs.'
38
86
13
'Konbu'
'2 kg box'
6
24
14
'Tofu'
'40 - 100 g pkgs.'
23.25
35
Seasoning' 5
'Chef Anton''s Gumbo Mix'
6
'Grandma''s
'36 boxes'
Boysenberry '12 - 8 oz jars'
Spread' 7
'Uncle
Bob''s
Organic
Pears'
15
'Genen Shouyu'
'24 - 250 ml bottles'
15.5
39
16
'Pavlova'
'32 - 500 g boxes'
17.45
29
17
'Alice Mutton'
'20 - 1 kg tins'
39
0
18
'Carnarvon Tigers'
'16 kg pkg.'
62.5
42
19
'Teatime Chocolate Biscuits'
'10 boxes x 12 pieces'
9.2
25
20
'Sir Rodney''s Marmalade'
'30 gift boxes'
81
40
OTRAS CONSULTAS: De la tablas products, mostrar el Nombre del Producto y el Precio por unidad, cuyo stock (UnitsInStock) sea igual o mayor a 50. Debe mostrar los campos con títulos (Alias). Solución: SELECT ProductName AS "Productos", UnitPrice AS "Precio Unitario" FROM products WHERE UnitsInStock>=50;
Resultado de la Consulta
Consulta con campos calculados: Mostrar el Nombre del producto, precio unitario, unidades en stock y el stock valorado de los productos en la tabla products. Aplicando alias a los campos. Solución: SELECT ProductName AS "Productos", UnitPrice AS "Precio Unitario", UnitsInStock AS "Stock", (UnitPrice* UnitsInStock) AS "Stock Valorado" FROM products;
FUNCIONES DE AGRUPAMIENTO SUM: La función "sum()" retorna la suma de los valores que contiene el campo especificado. Por ejemplo, si queremos saber la cantidad total de libros que tenemos disponibles para la venta, debemos sumar todos los valores del campo "cantidad": SELECT SUM(cantidad)FROM libros; MAX y MIN: Para averiguar el valor máximo o mínimo de un campo usamos las funciones "max()" y "min()" respectivamente. Queremos saber cuál es el mayor precio de todos los libros: SELECT MAX(precio)FROM libros; Entonces, dentro del paréntesis de la función colocamos el nombre del campo del cuál queremos el máximo valor. AVG: La función "avg()" retorna el valor promedio de los valores del campo especificado. Queremos saber el promedio del precio de los libros referentes a "PHP": SELECT AVG(precio)
FROM libros
WHERE titulo like '%PHP%';
Consulta utilizando función suma Mostrar el total de productos de la tabla productos: SELECT SUM(UnitsInStock) AS "Total Stock" FROM products;
Resultado de la Consulta
Ejercicios Crear 03 consultas utilizando cada una de las siguientes funciones: Sum Max Mín AvG Consultas usando like: Ejemplos De la tabla products, mostrar los productos que contengan la letra k en su nombre. Solución: SELECT ProductName FROM products WHERE ProductName LIKE '%k%';
Resultado de la Consulta
De la tabla products, Mostrar los productos cuyo nombre terminen con la letra g. Solución: SELECT ProductName FROM products WHERE ProductName LIKE '%g';
Resultado de la Consulta
Ejercicios: Utilizando las tablas customers y products, realizar 05 consultas utilizando Like, compruebe y muestre los resultados.