INNER JOIN
İki tabloyu ortak bulunan column’lar vasıtasıyla bileştirerek sorgulamamızı sağlar
--Ürünlerimizin adlarını ve ait olduğu kategori adlarını gösteren sorguyu yapınız.
--Products
--Catgories
Select ProductName,CategoryName from Products
inner join Categories on Products.CategoryID=Categories.CategoryID
--Productstaki CategoryID ile Categoriesteki CategoryIDyi bağlantıladık
--inner join yerine join'de yazabiliriz

--Ürünlerin adlarını ve alındıkları toptancıların şirket adlarını gösteren sorguyu yazınız
--Products
--Suppliers
Select * from Products
Select * from Suppliers
--inceledik SuppliersId'ler ortak
select ProductName,CompanyName from Products
join Suppliers on Products.SupplierID=Suppliers.SupplierID --order by Suppliers.SupplierID diyerek sıralayabiliriz

Inner Join
Sql varsayılan (default) bağlantı türüdür. İlişkili tablolarda sadece join koşulunu sağlayan kayıtlar listelenir.
Outher Join
Left veya right outher join ifadeleri ilişkili alanda birbiriyle eşleşenlerin yanında eşleşmeyen kayıtları da listeler. Join koşuluna uygun olmayan satırlar Null değer olarak görüntülenir
Left Join
--Çalışanın tam adını ve müşterilerinden aldığı siparişler ve tarihlerini listeleyin
--Employee
--Orders
select e.FirstName+' '+e.LastName as Name, o.OrderID,o.OrderDate from Employees e
--Employees'e bir boşluk koyup e diyerek, kısaltma isim atadık
left join Orders o on e.EmployeeID=o.EmployeeID --Left Employees , Right Orders tablosu

Right Join
--Tüm müşterileri ve verdikleri sipraiş tarihlerini listele
--(Orders/Customers)(CompanyName,CustomerID,OrderDate)
select c.CompanyName, c.CustomerID,o.OrderDate from Orders o
right join Customers c on o.CustomerID=c.CustomerID

Cross Join
/*1*/select Suppliers.CompanyName,Shippers.CompanyName from Suppliers cross join Shippers
/*2*/select Suppliers.CompanyName,Shippers.CompanyName from Suppliers,Shippers where 1=1

Full Join
--Bütün Kayıtların Listelendiği
select ProductName,CategoryName from Categories c full join Products p on p.CategoryID=c.CategoryID
Self Join
--Hangi çalışanın kime rapor verdiğini raporlayınız.Rapor veren ve Rapor verilen olarak adlandırılın
select k.FirstName+' '+k.LastName as [Rapor Veren], e.FirstName+' '+e.LastName as [Rapor Verilen] from Employees e inner join Employees k on e.EmployeeID=k.ReportsTo

Yorum bırakın