Sei sulla pagina 1di 31

Práctica SQL

En esta práctica crearemos una tabla denominada CLIENTES, luego importaremos los datos desde una hoja Excel y finalmente realizaremos una serie de consultas
para validar los datos ingresados.

1. Creación de la Tabla CLIENTES y poblado de datos

a. Crearemos primero nuestro espacio de trabajo en una BASE DE DATOS denominada UNIVERSIDAD:

CREATE DATABASE UNIVERSIDAD


GO

b. Creamos la tabla CLIENTES de acuerdo a los siguientes datos:

CREATE TABLE [dbo].[Clientes](


[IdCliente] [nvarchar](5) NOT NULL PRIMARY KEY,
[NombreCompañía] [nvarchar](40) NOT NULL,
[NombreContacto] [nvarchar](30) NULL,
[CargoContacto] [nvarchar](30) NULL,
[Dirección] [nvarchar](60) NULL,
[Ciudad] [nvarchar](15) NULL,
[Región] [nvarchar](15) NULL,
[CódPostal] [nvarchar](10) NULL,
[País] [nvarchar](15) NULL,
[Teléfono] [nvarchar](24) NULL,
[Fax] [nvarchar](24) NULL
) ON [PRIMARY]
GO

c. Poblaremos la tabla CLIENTES:

INSERT INTO [dbo].[Clientes]


([IdCliente]
,[NombreCompañía]
,[NombreContacto]
,[CargoContacto]
,[Dirección]
,[Ciudad]
,[Región]
,[CódPostal]
,[País]
,[Teléfono]
,[Fax])
VALUES
('ALFKI','Alfreds Futterkiste','Maria Anders','Representante de ventas','Obere Str. 57','Berlín','','12209','Alemania','030-0074321','030-0076545'),
('ANATR','Ana Trujillo Emparedados y helados','Ana Trujillo','Propietario','Avda. de la Constitución 2222','México D.F.','','05021','México','5 555-
4729','5 555-3745'),
('ANTON','Antonio Moreno Taquería','Antonio Moreno','Propietario','Mataderos 2312','México D.F.','','05023','México','5 555-3932',''),
('AROUT','Around the Horn','Thomas Hardy','Representante de ventas','120 Hanover Sq.','Londres','','WA1 1DP','Reino Unido','71 555-7788','71 555-
6750'),
('BERGS','Berglunds snabbköp','Christina Berglund','Administrador de pedidos','Berguvsvägen 8','Luleå','','S-958 22','Suecia','0921-12 34 65','0921-12
34 67'),
('BLAUS','Blauer See Delikatessen','Hanna Moos','Representante de ventas','Forsterstr. 57','Mannheim','','68306','Alemania','0621-08460','0621-
08924'),
('BLONP','Blondel père et fils','Frédérique Citeaux','Gerente de marketing','24, place
Kléber','Estrasburgo','','67000','Francia','88.60.15.31','88.60.15.32'),
('BOLID','Bólido Comidas preparadas','Martín Sommer','Propietario','C/ Araquil, 67','Madrid','','28023','España','91 555 22 82','91 555 91 99'),
('BONAP','Bon app-','Laurence Lebihan','Propietario','12, rue des Bouchers','Marsella','','13008','Francia','91.24.45.40','91.24.45.41'),
('BOTTM','Bottom-Dollar Markets','Elizabeth Lincoln','Gerente de contabilidad','23 Tsawassen Blvd.','Tsawassen','BC','T2F 8M4','Canadá','604 555-
4729','604 555-3745'),
('BSBEV','B-s Beverages','Victoria Ashworth','Representante de ventas','Fauntleroy Circus','Londres','','EC2 5NT','Reino Unido','71 555-1212',''),
('CACTU','Cactus Comidas para llevar','Patricio Simpson','Agente de ventas','Cerrito 333','Buenos Aires','','1010','Argentina','1 135-5555','1 135-4892'),
('CENTC','Centro comercial Moctezuma','Francisco Chang','Gerente de marketing','Sierras de Granada 9993','México D.F.','','05022','México','5 555-
3392','5 555-7293'),
('CHOPS','Chop-suey Chinese','Yang Wang','Propietario','Hauptstr. 29','Berna','','3012','Suiza','0452-076545',''),
('COMMI','Comércio Mineiro','Pedro Afonso','Asistente de ventas','Av. dos Lusíadas, 23','São Paulo','SP','05432-043','Brasil','11 555-7647',''),
('CONSH','Consolidated Holdings','Elizabeth Brown','Representante de ventas','Berkeley Gardens12 Brewery','Londres','','WX1 6LT','Reino Unido','71
555-2282','71 555-9199'),
('DRACD','Drachenblut Delikatessen','Sven Ottlieb','Administrador de pedidos','Walserweg 21','Aachen','','52066','Alemania','0241-039123','0241-
059428'),
('DUMON','Du monde entier','Janine Labrune','Propietario','67, rue des Cinquante Otages','Nantes','','44000','Francia','40.67.88.88','40.67.89.89'),
('EASTC','Eastern Connection','Ann Devon','Agente de ventas','35 King George','Londres','','WX3 6FW','Reino Unido','71 555-0297','71 555-3373'),
('ERNSH','Ernst Handel','Roland Mendel','Gerente de ventas','Kirchgasse 6','Graz','','8010','Austria','7675-3425','7675-3426'),
('FAMIA','Familia Arquibaldo','Aria Cruz','Asistente de marketing','Rua Orós, 92','Sao Paulo','SP','05442-030','Brasil','11 555-9857',''),
('FISSA','FISSA Fabrica Inter. Salchichas S.A.','Diego Roel','Gerente de contabilidad','C/ Moralzarzal, 86','Madrid','','28034','España','91 555 94 44','91
555 55 93'),
('FOLIG','Folies gourmandes','Martine Rancé','Asistente de agente de ventas','184, chaussée de
Tournai','Lille','','59000','Francia','20.16.10.16','20.16.10.17'),
('FOLKO','Folk och fä HB','Maria Larsson','Propietario','Åkergatan 24','Bräcke','','S-844 67','Suecia','0695-34 67 21',''),
('FRANK','Frankenversand','Peter Franken','Gerente de marketing','Berliner Platz 43','München','','80805','Alemania','089-0877310','089-0877451'),
('FRANR','France restauration','Carine Schmitt','Gerente de marketing','54, rue Royale','Nantes','','44000','Francia','40.32.21.21','40.32.21.20'),
('FRANS','Franchi S.p.A.','Paolo Accorti','Representante de ventas','Via Monte Bianco 34','Torino','','10100','Italia','011-4988260','011-4988261'),
('FURIB','Furia Bacalhau e Frutos do Mar','Lino Rodriguez','Gerente de ventas','Jardim das rosas n. 32','Lisboa','','1675','Portugal','1 354-2534','1 354-
2535'),
('GALED','Galería del gastrónomo','Eduardo Saavedra','Gerente de marketing','Rambla de Cataluña, 23','Barcelona','','08022','España','93 203
4560','93 203 4561'),
('GODOS','Godos Cocina Típica','José Pedro Freyre','Gerente de ventas','C/ Romero, 33','Sevilla','','41101','España','95 555 82 82',''),
('GOURL','Gourmet Lanchonetes','André Fonseca','Asistente de ventas','Av. Brasil, 442','Campinas','SP','04876-786','Brasil','11 555-9482',''),
('GREAL','Great Lakes Food Market','Howard Snyder','Gerente de marketing','2732 Baker Blvd.','Eugenia','OR','97403','Estados Unidos','503 555-
7555',''),
('GROSR','GROSELLA-Restaurante','Manuel Pereira','Propietario','5ª Ave. Los Palos Grandes','Caracas','DF','1081','Venezuela','2 283-2951','2 283-
3397'),
('HANAR','Hanari Carnes','Mario Pontes','Gerente de contabilidad','Rua do Paço, 67','Rio de Janeiro','RJ','05454-876','Brasil','21 555-0091','21 555-
8765'),
('HILAA','HILARIÓN-Abastos','Carlos Hernández','Representante de ventas','Carrera 22 con Ave. Carlos Soublette #8-35','San
Cristóbal','Táchira','5022','Venezuela','5 555-1340','5 555-1948'),
('HUNGC','Hungry Coyote Import Store','Yoshi Latimer','Representante de ventas','City Center Plaza516 Main St.','Elgin','OR','97827','Estados
Unidos','503 555-6874','503 555-2376'),
('HUNGO','Hungry Owl All-Night Grocers','Patricia McKenna','Asistente de ventas','8 Johnstown Road','Cork','Co. Cork','','Irlanda','2967 542','2967
3333'),
('ISLAT','Island Trading','Helen Bennett','Gerente de marketing','Garden HouseCrowther Way','Cowes','Isla de Wight','PO31 7PJ','Reino Unido','198
555-8888',''),
('KOENE','Königlich Essen','Philip Cramer','Asistente de ventas','Maubelstr. 90','Brandenburgo','','14776','Alemania','0555-09876',''),
('LACOR','La corne d-abondance','Daniel Tonini','Representante de ventas','67, avenue de l-
Europe','Versalles','','78000','Francia','30.59.84.10','30.59.85.11'),
('LAMAI','La maison d-Asie','Annette Roulet','Gerente de ventas','1 rue Alsace-Lorraine','Toulouse','','31000','Francia','61.77.61.10','61.77.61.11'),
('LAUGB','Laughing Bacchus Wine Cellars','Yoshi Tannamuri','Asistente de marketing','1900 Oak St.','Vancouver','BC','V3F 2K1','Canadá','604 555-
3392','604 555-7293'),
('LAZYK','Lazy K Kountry Store','John Steel','Gerente de marketing','12 Orchestra Terrace','Walla Walla','WA','99362','Estados Unidos','509 555-
7969','509 555-6221'),
('LEHMS','Lehmanns Marktstand','Renate Messner','Representante de ventas','Magazinweg 7','Francfurt','','60528','Alemania','069-0245984','069-
0245874'),
('LETSS','Let-s Stop N Shop','Jaime Yorres','Propietario','87 Polk St.Suite 5','San Francisco','CA','94117','Estados Unidos','415 555-5938',''),
('LILAS','LILA-Supermercado','Carlos González','Gerente de contabilidad','Carrera 52 con Ave. Bolívar #65-98 Llano
Largo','Barquisimeto','Lara','3508','Venezuela','9 331-6954','9 331-7256'),
('LINOD','LINO-Delicateses','Felipe Izquierdo','Propietario','Ave. 5 de Mayo Porlamar','I. de Margarita','Nueva Esparta','4980','Venezuela','8 34-56-
12','8 34-93-93'),
('LONEP','Lonesome Pine Restaurant','Fran Wilson','Gerente de ventas','89 Chiaroscuro Rd.','Portland','OR','97219','Estados Unidos','503 555-
9573','503 555-9646'),
('MAGAA','Magazzini Alimentari Riuniti','Giovanni Rovelli','Gerente de marketing','Via Ludovico il Moro 22','Bérgamo','','24100','Italia','035-
640230','035-640231'),
('MAISD','Maison Dewey','Catherine Dewey','Agente de ventas','Rue Joseph-Bens 532','Bruselas','','B-1180','Bélgica','02 201 24 67','02 201 24 68'),
('MEREP','Mère Paillarde','Jean Fresnière','Asistente de marketing','43 rue St. Laurent','Montreal','Québec','H1J 1C3','Canadá','514 555-8054','514
555-8055'),
('MORGK','Morgenstern Gesundkost','Alexander Feuer','Asistente de marketing','Heerstr. 22','Leipzig','','04179','Alemania','0342-023176',''),
('NORTS','North/South','Simon Crowther','Asistente de ventas','South House300 Queensbridge','Londres','','SW7 1RZ','Reino Unido','71 555-7733','71
555-2530'),
('OCEAN','Océano Atlántico Ltda.','Yvonne Moncada','Agente de ventas','Ing. Gustavo Moncada 8585Piso 20-A','Buenos Aires','','1010','Argentina','1
135-5333','1 135-5535'),
('OLDWO','Old World Delicatessen','Rene Phillips','Representante de ventas','2743 Bering St.','Anchorage','AK','99508','Estados Unidos','907 555-
7584','907 555-2880'),
('OTTIK','Ottilies Käseladen','Henriette Pfalzheim','Propietario','Mehrheimerstr. 369','Köln','','50739','Alemania','0221-0644327','0221-0765721'),
('PARIS','Paris spécialités','Marie Bertrand','Propietario','265, boulevard Charonne','París','','75012','Francia','1 42.34.22.66','1 42.34.22.77'),
('PERIC','Pericles Comidas clásicas','Guillermo Fernández','Representante de ventas','Calle Dr. Jorge Cash 321','México D.F.','','05033','México','5 552-
3745','5 545-3745'),
('PICCO','Piccolo und mehr','Georg Pipps','Gerente de ventas','Geislweg 14','Salzburgo','','5020','Austria','6562-9722','6562-9723'),
('PRINI','Princesa Isabel Vinhos','Isabel de Castro','Representante de ventas','Estrada da saúde n. 58','Lisboa','','1756','Portugal','1 356-5634',''),
('QUEDE','Que Delícia','Bernardo Batista','Gerente de contabilidad','Rua da Panificadora, 12','Rio de Janeiro','RJ','02389-673','Brasil','21 555-4252','21
555-4545'),
('QUEEN','Queen Cozinha','Lúcia Carvalho','Asistente de marketing','Alameda dos Canàrios, 891','Sao Paulo','SP','05487-020','Brasil','11 555-1189',''),
('QUICK','QUICK-Stop','Horst Kloss','Gerente de contabilidad','Taucherstraße 10','Cunewalde','','01307','Alemania','0372-035188',''),
('RANCH','Rancho grande','Sergio Gutiérrez','Representante de ventas','Av. del Libertador 900','Buenos Aires','','1010','Argentina','1 123-5555','1 123-
5556'),
('RATTC','Rattlesnake Canyon Grocery','Paula Wilson','Representante agente ventas','2817 Milton Dr.','Albuquerque','NM','87110','Estados
Unidos','505 555-5939','505 555-3620'),
('REGGC','Reggiani Caseifici','Maurizio Moroni','Asistente de ventas','Strada Provinciale 124','Reggio Emilia','','42100','Italia','0522-556721','0522-
556722'),
('RICAR','Ricardo Adocicados','Janete Limeira','Asistente de agente de ventas','Av. Copacabana, 267','Rio de Janeiro','RJ','02389-890','Brasil','21 555-
3412',''),
('RICSU','Richter Supermarkt','Michael Holz','Gerente de ventas','Grenzacherweg 237','Génova','','1203','Suiza','0897-034214',''),
('ROMEY','Romero y tomillo','Alejandra Camino','Gerente de contabilidad','Gran Vía, 1','Madrid','','28001','España','91 745 6200','91 745 6210'),
('SANTG','Santé Gourmet','Jonas Bergulfsen','Propietario','Erling Skakkes gate 78','Stavern','','4110','Noruega','07-98 92 35','07-98 92 47'),
('SAVEA','Save-a-lot Markets','Jose Pavarotti','Representante de ventas','187 Suffolk Ln.','Boise','ID','83720','Estados Unidos','208 555-8097',''),
('SEVES','Seven Seas Imports','Hari Kumar','Gerente de ventas','90 Wadhurst Rd.','Londres','','OX15 4NB','Reino Unido','71 555-1717','71 555-5646'),
('SIMOB','Simons bistro','Jytte Petersen','Propietario','Vinbæltet 34','København','','1734','Dinamarca','31 12 34 56','31 13 35 57'),
('SPECD','Spécialités du monde','Dominique Perrier','Gerente de marketing','25, rue Lauriston','París','','75016','Francia','1 47.55.60.10','1
47.55.60.20'),
('SPLIR','Split Rail Beer & Ale','Art Braunschweiger','Gerente de ventas','P.O. Box 555','Lander','WY','82520','Estados Unidos','307 555-4680','307 555-
6525'),
('SUPRD','Suprêmes délices','Pascale Cartrain','Gerente de contabilidad','Boulevard Tirou, 255','Charleroi','','B-6000','Bélgica','071 23 67 22 20','071
23 67 22 21'),
('THEBI','The Big Cheese','Liz Nixon','Gerente de marketing','89 Jefferson WaySuite 2','Portland','OR','97201','Estados Unidos','503 555-3612',''),
('THECR','The Cracker Box','Liu Wong','Asistente de marketing','55 Grizzly Peak Rd.','Butte','MT','59801','Estados Unidos','406 555-5834','406 555-
8083'),
('TOMSP','Toms Spezialitäten','Karin Josephs','Gerente de marketing','Luisenstr. 48','Münster','','44087','Alemania','0251-031259','0251-035695'),
('TORTU','Tortuga Restaurante','Miguel Angel Paolino','Propietario','Avda. Azteca 123','México D.F.','','05033','México','5 555-2933',''),
('TRADH','Tradição Hipermercados','Anabela Domingues','Representante de ventas','Av. Inês de Castro, 414','Sao Paulo','SP','05634-030','Brasil','11
555-2167','11 555-2168'),
('TRAIH','Trail-s Head Gourmet Provisioners','Helvetius Nagy','Asistente de ventas','722 DaVinci Blvd.','Kirkland','WA','98034','Estados Unidos','206
555-8257','206 555-2174'),
('VAFFE','Vaffeljernet','Palle Ibsen','Gerente de ventas','Smagsløget 45','Århus','','8200','Dinamarca','86 21 32 43','86 22 33 44'),
('VICTE','Victuailles en stock','Mary Saveley','Agente de ventas','2, rue du Commerce','Lion','','69004','Francia','78.32.54.86','78.32.54.87'),
('VINET','Vins et alcools Chevalier','Paul Henriot','Gerente de contabilidad','59 rue de l-Abbaye','Reims','','51100','Francia','26.47.15.10','26.47.15.11'),
('WANDK','Die Wandernde Kuh','Rita Müller','Representante de ventas','Adenauerallee 900','Stuttgart','','70563','Alemania','0711-020361','0711-
035428'),
('WARTH','Wartian Herkku','Pirkko Koskitalo','Gerente de contabilidad','Torikatu 38','Oulu','','90110','Finlandia','981-443655','981-443655'),
('WELLI','Wellington Importadora','Paula Parente','Gerente de ventas','Rua do Mercado, 12','Resende','SP','08737-363','Brasil','14 555-8122',''),
('WHITC','White Clover Markets','Karl Jablonski','Propietario','305 - 14th Ave. S.Suite 3B','Seattle','WA','98128','Estados Unidos','206 555-4112','206
555-4115'),
('WILMK','Wilman Kala','Matti Karttunen','Prop./Asistente marketing','Keskuskatu 45','Helsinki','','21240','Finlandia','90-224 8858','90-224 8858'),
('WOLZA','Wolski Zajazd','Zbyszek Piestrzeniewicz','Propietario','ul. Filtrowa 68','Warszawa','','01-012','Polonia','26 642-7012','26 642-7012')

Con esto habremos poblado nuestra tabla clientes.

Nota: otra forma de hacerlo es importando el archivo Excel de clientes directo a la base de datos de SQL. Para probar realice lo siguiente:

Elimine todos los registros de la tabla CLIENTES:


DELETE FROM CLIENTES

Hacer click con el botón derecho en el objeto base de datos UNIVERSIDAD en el Explorador de Objetos. Luego click en “Tasks” (tareas) y luego en “Import
Data” (importar datos). Siga la secuencia seleccionando como origen “Microsoft Excel” y destino “Microsoft OLE DB Provider for SQL Server” (esto
dependerá de las opciones instaladas en su servidor).

2. Ahora que ya tenemos nuestra base de datos con la tabla clientes realizaremos algunas operaciones:
a. Listar todos los datos de CLIENTES

SELECT [IdCliente]
,[NombreCompañía]
,[NombreContacto]
,[CargoContacto]
,[Dirección]
,[Ciudad]
,[Región]
,[CódPostal]
,[País]
,[Teléfono]
,[Fax]
FROM [Universidad].[dbo].[Clientes]
b. Otra forma de hacerlo
SELECT * FROM [Universidad].[dbo].[Clientes]
c. Listar solo los primeros 10 registros de clientes
SELECT TOP (10) [IdCliente]
,[NombreCompañía]
,[NombreContacto]
,[CargoContacto]
,[Dirección]
,[Ciudad]
,[Región]
,[CódPostal]
,[País]
,[Teléfono]
,[Fax]
FROM [Universidad].[dbo].[Clientes]
d. Listar solo los clientes que vivan e MEXICO
SELECT *
FROM [Universidad].[dbo].[Clientes]
WHERE [País]='México'
e. Listar solo los clientes que no tienen número de fax ( en este caso el campo fax está vació )
SELECT *
FROM [Universidad].[dbo].[Clientes]
WHERE [Fax]=''
f. Actualizar los datos de fax que no tienen número a un campo “null”
UPDATE [Universidad].[dbo].[Clientes]
SET [FAX] = NULL
FROM [Universidad].[dbo].[Clientes]
WHERE [Fax]=''
a. Listar solo los clientes que no tienen número de fax ( en este caso el campo fax es NULL)
SELECT *
FROM [Universidad].[dbo].[Clientes]
WHERE [Fax] is NULL
b. Listado de los empleados ordenados por nombre que muestre Nombre, Dirección, Ciudad, Región, País, Teléfono y Fax sólo de los empleados que
tengan Fax
SELECT
[NombreContacto]
,[Dirección]
,[Ciudad]
,[Región]
,[País]
,[Teléfono]
,[Fax]
FROM [Universidad].[dbo].[Clientes]
WHERE [Fax] IS not NULL
ORDER BY [NombreContacto] ASC
c. Listado de los mismos datos anteriores, pero esta vez ordenados por País y nombre del contacto
SELECT
[NombreContacto]
,[Dirección]
,[Ciudad]
,[Región]
,[País]
,[Teléfono]
,[Fax]
FROM [Universidad].[dbo].[Clientes]
WHERE [Fax] IS not NULL
ORDER BY [País] ASC, [NombreContacto] ASC
d. Listado de clientes que viven en Alemania o Suecia
SELECT
[NombreContacto]
,[Dirección]
,[Ciudad]
,[Región]
,[País]
,[Teléfono]
,[Fax]
FROM [Universidad].[dbo].[Clientes]
WHERE ([Fax] IS not NULL) and ([País]='Alemania' Or [País]='Suecia')
ORDER BY [País] ASC, [NombreContacto] ASC
e. Listado de clientes que trabajen en ventas
SELECT
[NombreContacto]
,[CargoContacto]
,[Dirección]
,[Ciudad]
,[Región]
,[País]
,[Teléfono]
,[Fax]
FROM [Universidad].[dbo].[Clientes]
WHERE CargoContacto like '%Ventas'
ORDER BY [País] ASC, [NombreContacto] ASC
f. Modificar la tabla clientes para añadir un campo “SUELDO” del tipo float (decimal)
ALTER TABLE [Universidad].[dbo].[Clientes]
ADD [Sueldo] float
g. Asignar un sueldo de S/ 15,000 a los clientes que viven en México
UPDATE [Universidad].[dbo].[Clientes]
SET [Sueldo] = 15000
FROM [Universidad].[dbo].[Clientes]
WHERE [País]='México'

h. Asignar un sueldo de S/ 18,000 a los clientes que viven en España o Francia


UPDATE [Universidad].[dbo].[Clientes]
SET [Sueldo] = 18000
FROM [Universidad].[dbo].[Clientes]
WHERE [País]='España' or [País]='Francia'

i. Asignar al resto un sueldo de S/ 25,000


UPDATE [Universidad].[dbo].[Clientes]
SET [Sueldo] = 25000
FROM [Universidad].[dbo].[Clientes]
WHERE [Sueldo] is NULL

g. Añadir a la tabla CLIENTES un campo llamado “LíneaCrédito” tipo float


ALTER TABLE [Universidad].[dbo].[Clientes]
ADD [LíneaCrédito] float

h. Calcular una línea de crédito para los clientes, la cual será equivalente al 20% de su sueldo. Almacenar el resultado en el campo creado
anteriormente
SELECT [País], [Sueldo], [LíneaCrédito]
FROM [Universidad].[dbo].[Clientes]

SELECT [País], [Sueldo], [Sueldo]*0.20 AS LineaCredito


FROM [Universidad].[dbo].[Clientes]

UPDATE [Universidad].[dbo].[Clientes]
SET [LíneaCrédito] = [Sueldo]*0.20
FROM [Universidad].[dbo].[Clientes]

SELECT [País], [Sueldo], [LíneaCrédito]


FROM [Universidad].[dbo].[Clientes]
i. Contar cuántos clientes tenemos por país
SELECT [País], COUNT(*)
FROM [Universidad].[dbo].[Clientes]
GROUP BY [País]
j. El mismo listado anterior, pero ahora ordenados por país de mayor a menor
SELECT [País], COUNT(*)
FROM [Universidad].[dbo].[Clientes]
GROUP BY [País]
ORDER BY COUNT(*) DESC
k. Contar cuántos clientes tenemos por país y por tipo de cargo
SELECT [País], [CargoContacto], COUNT(*)
FROM [Universidad].[dbo].[Clientes]
GROUP BY [País], [CargoContacto]
ORDER BY COUNT(*) DESC
l. Contar cuántos clientes tenemos que sean propietarios
SELECT [País], [CargoContacto], COUNT(*)
FROM [Universidad].[dbo].[Clientes]
GROUP BY [País], [CargoContacto]
HAVING [CargoContacto] Like '%Propietario'
ORDER BY COUNT(*) DESC
m. El mismo ejercicio anterior, pero ahora queremos de los clientes que vivan en Francia o Venezuela
SELECT [País], [CargoContacto], COUNT(*)
FROM [Universidad].[dbo].[Clientes]
GROUP BY [País], [CargoContacto]
HAVING ([CargoContacto] Like '%Propietario') and (([País]='Francia') or ([País]='Venezuela'))
ORDER BY COUNT(*) DESC
çç

n. Contar cuántos clientes tienen línea de crédito mayor de S/ 3,000


SELECT [LíneaCrédito], COUNT(*)
FROM [Universidad].[dbo].[Clientes]
GROUP BY [LíneaCrédito]
HAVING [LíneaCrédito] > 3000
ORDER BY COUNT(*) DESC
3. Ejercicio final:
La empresa prepara una campaña de ventas directas para todos sus clientes, excepto para los países de Latinoamérica. Esta campaña consiste en
ofrecerles productos solo con el 5%, 4% y 3% de interés siempre que adquieran la mercadería a 6, 12 o 18 meses al crédito.
Para que los clientes tomen una decisión deben recibir individualmente el cálculo de sus intereses considerando el tope de su línea de crédito para los
tres plazos que se ofrecen.
Los intereses se calculan como: [ Línea de Crédito * (1 + Interés)Plazo ] – Línea de Crédito

SELECT [País]
,[Sueldo]
,[LíneaCrédito]
,([LíneaCrédito]*POWER(1+0.05,6))-[LíneaCrédito] as [Interes6Meses]
,([LíneaCrédito]*POWER(1+0.04,12))-[LíneaCrédito] as [Interes12Meses]
,([LíneaCrédito]*POWER(1+0.03,18))-[LíneaCrédito] as [Interes18Meses]
FROM [Universidad].[dbo].[Clientes]
WHERE [País] <> 'México' and [País]<>'Venezuela' and [País]<>'Argentina' and [País]<>'Brasil'

SELECT [País]
,[Sueldo]
,[LíneaCrédito]
,([LíneaCrédito]*POWER(1+0.05,6))-[LíneaCrédito] as [Interes6Meses]
,([LíneaCrédito]*POWER(1+0.04,12))-[LíneaCrédito] as [Interes12Meses]
,([LíneaCrédito]*POWER(1+0.03,18))-[LíneaCrédito] as [Interes18Meses]
FROM [Universidad].[dbo].[Clientes]
WHERE [País] NOT IN ('México','Venezuela','Argentina','Brasil')

Potrebbero piacerti anche