SQL Ejercicios

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

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

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



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.