You are on page 1of 4

Exerccios de TLBD II 3

--1)
Relacionar as tabelas Sales e Titles, ordenando por Ttulo crescente, BD Pubs.
Use pubs
Select sales.*, titles.*
From Sales Inner Join Titles
On Sales.title_id = Titles.title_id
Order By 2 asc
GO
--2)
Relacionar as tabelas Employee, Jobs e Publishers, ordenado por fName e lName
(juntos)
--crescente, onde s mostre os Jobs iguais a Publisher, Editorou Designer, BD
Pubs.
Use pubs
Select Employee.lname+fname as 'Nome', employee.*, Jobs.*, Publishers.*
From Employee inner join Jobs
On Jobs.job_id = employee.job_id
inner Join Publishers
ON employee.pub_id = publishers.pub_id
where jobs.job_desc = 'Publisher' or jobs.job_desc = 'Editor' or jobs.job_desc =
'Designer'
Order by 1 asc
GO
--3)
Selecione os campos EmployeeID, LastName, FirstName, Title e City da tabela
Employees,
--o campo TerritoryDescription da tabela Territories, usando a tabela
EmployeeeTerritories para
--relacionar as outras duas, formatando os ttulos na sada, ordenados FisrtName e
LastName (juntos),
-- crescente, onde os campos FisrtName e LastName deve aparecer como um nico campo na
sada, no Banco
--de Dados Northwind.
Use Northwind
Select Employees.EmployeeID as 'ID do funcionrio',
Employees.FirstName+' '+Employees.LastName as 'Nome',
Employees.Title as 'Funo', Employees.City as 'Cidade',
Territories.TerritoryDescription as 'Descrio do territrio'
From EmployeeTerritories inner join Employees
on employeeterritories.EmployeeID = Employees.EmployeeID
inner join Territories
on EmployeeTerritories.TerritoryID = Territories.TerritoryID
Order By Nome asc
GO
--4)
Na query anterior acrescentar o campo RegionDescription da tabela relacionada
Region, onde
--deve mostrar todos os registros da regio Easternou Northern.
Use Northwind
Select Employees.EmployeeID as 'ID do funcionrio',
Employees.FirstName+' '+Employees.LastName as 'Nome',
Employees.Title as 'Funo', Employees.City as 'Cidade',
Territories.TerritoryDescription as 'Descrio do territrio',
Region.RegionDescription as 'Descrio da regio'
From region, EmployeeTerritories inner join Employees
on employeeterritories.EmployeeID = Employees.EmployeeID
inner join Territories
on EmployeeTerritories.TerritoryID = Territories.TerritoryID
where Region.RegionDescription = 'Eastern' or Region.RegionDescription = 'Northern'

Order By Nome asc


GO
--5)
Selecione os campos ProductID, ProductName e UnitPrice da tabela Products, os
campos CategoryName,
-- Description da tabela Categories e os campos CompanyName, ContactName e Phone da
tabela Suppliers,
--relacionadas entre si, formatando os ttulos na sada, ordenado por Nome do Produto,
de forma que
--mostre todos os registros onde o campo do Valor Unitrio seja menor que 20 ou maior
que 80, no Banco
--de Dados Northwind.
Use Northwind
Select products.ProductID as 'ID do produto',
products.ProductName as 'Nome do Produto',
products.UnitPrice as 'Preo unitrio',
Categories.CategoryName as 'Categoria',
Categories.CategoryID as 'ID da categoria',
Categories.[Description] as 'Descrio',
suppliers.CompanyName as 'Nome da Companhia',
suppliers.ContactName as 'Nome de Contato',
suppliers.Phone as 'Telefone'
From Products inner join Categories
On Products.CategoryID = Categories.CategoryID
inner join Suppliers
on Products.SupplierID = Suppliers.SupplierID
where products.[UnitPrice] < 20 or Products.[UnitPrice] > 80
order by 2
GO
--6)
Selecione os campos au_Id, au_LName, au_FName, Phone e City, da tabela Authors,
os campos
--title_Id, Title, Type e Price da tabela Titles, os campos pub_Id, pub_Name e City da
tabela Publishers
-- e os campos au_Ord e Royaltyper da tabela TitleAuthor, todas relacionadas entre si,
no Banco de
--Dados Pubs, formatando os campos na sada, de forma que os campos au_LName e
au_FName seja um campo,
-- apenas para os autores da cidade de Berkeley, ou os Editores da cidade de New York,
ordenado por Nome
--do Autor, decrescente.
use pubs
select authors.au_id as 'ID do autor',
authors.au_fname+' '+authors.au_lname as 'Nome do autor',
authors.phone as 'Telefone',
authors.city as 'Cidade do autor',
titles.title_id as 'ID do ttulo',
titles.title as 'Ttulo',
titles.[type] as 'Tipo',
titles.price as 'Preo',
publishers.pub_id as 'ID do editor',
publishers.pub_name as 'Nome do Editor',
publishers.City as 'Cidade do Editor',
titleauthor.au_ord as 'Ordem do autor',
titleauthor.royaltyper as 'Royalty'
From authors inner join titleauthor
On authors.au_id = titleauthor.au_id
inner join titles
on titleauthor.title_id = titles.title_id
inner join publishers
on titles.pub_id = publishers.pub_id

where authors.city = 'Berkeley' or publishers.city = 'New York'


order by [Nome do autor] desc
GO
--7)
Selecione os campos CustomerId, CompanyName, ContactName e Phone da tabela
Customers, os
--campos EmployeeId, LastName, FirstName, da tabela Employees, os campos OrderId,
OrderDate e ShipVia
-- da tabela Orders, os campos CompanyName e Phone da tabela Shippers e os campos
ShipName, ShipAddress
-- e ShipCity da tabela Orders, formatando a sada, de forma que os campos LastName e
FirstName seja um,
-- no Banco de Dados Northwind, onde mostre todos os registros onde o campo Freight da
tabela Orders seja
-- menor que 30, ou maior que 80, ordenado pelo campo FirstName e LastName.
Use Northwind
Select customers.CustomerID as 'ID do Cliente',
customers.CompanyName as 'Nome da Comanhia',
customers.ContactName as 'Nome para Contato',
customers.Phone as 'Telefone',
employees.EmployeeID as 'ID do Funcionrio',
employees.LastName+' '+FirstName as 'Nome do funcionrio',
orders.OrderID as 'ID do pedido',
orders.OrderDate as 'Data do pedido',
orders.ShipVia as 'ID da Transportadora',
shippers.CompanyName as 'Nome da Companhia',
shippers.Phone as 'Telefone da Transportadora',
orders.ShipName as 'Nome da Transportadora',
orders.ShipAddress as 'Endereo da Transportadora',
orders.ShipCity as 'Cidade da transportadora'
From Orders inner join Customers
On Orders.CustomerID = Customers.CustomerID
inner join Employees
on Orders.EmployeeID = Employees.EmployeeID
inner join Shippers
on Orders.ShipVia = Shippers.ShipperID
where Orders.Freight < 30 or Orders.Freight > 80
order by FirstName, LastName asc
GO
--8)
Selecione apenas o campo City da Tabela Authors, banco de dados Pubs, sem
repeties, sada
--formatada e em ordem alfabtica.
Use Pubs
Select Distinct city as 'Cidade'
From Authors
order by city asc
GO
--9)
Selecione todos os campos das tabelas Titles e Sales, do banco de dados Pubs,
relacionando-os,
-- independente de haver, ou no, chaves de relacionamento. Filtrar apenas os
registros onde o Preo
-- seja Nulo, e a Quantidade seja maior ou igual a 20 e menor ou igual a 50, ordenados
pelo campo Ttulo.
Use Pubs
Select distinct Titles.*, Sales.*
From Titles cross join Sales
Where titles.price is null and sales.qty >=20 and sales.qty <=50
Order By titles.title
GO

--10) Selecione os campos ProductName, UnitsInStock, UnitPrice e Discontinued, da


tabela Products,
-- o campo CategoryName da tabela Categories, e os campos CompanyName, Contactname,
City, Country e
-- Phone da tabela Suppliers. Depois relacione todos os registros da tabela Products
com os relacionados
-- da tabela Categories, relacionando com a tabela Suppliers, filtrando os registros
onde ProductName
--comece com a letra C ou G, e a segunda letra no seja U. A query deve mostrar,
tambm, o valor total de
-- UnitsInStock por UnitPrice, com sada formatada, ordenado por ProductName. Banco de
Dados Northwind.
use Northwind
select Products.ProductName as 'Nome do Produto',
products.UnitsInStock as 'Unidades em estoque',
products.UnitPrice as 'Preo Unitrio',
Products.UnitsInStock*Products.UnitPrice as 'Valor total',
products.Discontinued as 'Descontinuado',
categories.CategoryName as 'Categoria',
suppliers.CompanyName as 'Nome da Companhia',
suppliers.Contactname as 'Nome para Contato',
suppliers.City as 'Cidade',
suppliers.Country as 'Pas',
suppliers.Phone as 'Telefone da Companhia'
from products inner join Categories
on Products.CategoryID = Categories.CategoryID
inner join Suppliers
on Products.SupplierID = Suppliers.SupplierID
where Products.ProductName like '[C,G][^U]%'
Order by 1 asc

You might also like