SQL – JOIN

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

WordPress.com'da bir web sitesi veya blog oluşturun

Yukarı ↑

WordPress.com ile böyle bir site tasarlayın
Başlayın