Join devam
Bunun için IlkDB adlı database’i restore ediniz.
https://www.fethimurat.com/blog/wp-content/uploads/2010/08/JoinDB.zip
-- kategoriler tablosu ve urunler tablosu
select * from Kategoriler
select * from Urunler
-- tüm kategorileri listeleyin eğer varsa ürünlerinin adlarını da listeleyin
select k.KategoriAdi,u.UrunAdi
from Kategoriler k
left join Urunler u on k.KategoriID=u.KategoriID
-- tüm ürünleri ve varsa dahil oldukları kategorilerinin adlarını da getirin
select u.UrunAdi,k.KategoriAdi
from Kategoriler k
right join Urunler u on u.KategoriID=k.KategoriID
-- tedarikciler tablosu oluşturalım
create table Tedarikciler
(
TedarikciID int primary key identity(1,1),
FirmaAdi varchar(50)
)
go
insert into Tedarikciler values('TedA')
insert into Tedarikciler values('TedB')
insert into Tedarikciler values('TedC')
alter table Urunler
add TedarikciID int references Tedarikciler (TedarikciID)
select * from Tedarikciler
select * from Urunler
-- kategorisi olmayan ürünün tedarikcisi verildi
update Urunler set TedarikciID=1
where KategoriID is null
-- br ürün daha tedarikcisiyle birlikte kullanılacak
update Urunler set TedarikciID=3
where UrunAdi like '%ace%'
select * from Urunler
-- tüm tedarikcileri varsa getirdikleri ürünlerin adlarını ve varsa o ürünlerin dahil olduğu kategori adlarını listeleyin
select t.FirmaAdi,u.UrunAdi,k.KategoriAdi
from Tedarikciler t
left join Urunler u on u.TedarikciID=t.TedarikciID
left join Kategoriler k on k.KategoriID=u.KategoriID
-- urunleri ve kategori isimlerini getirirken varsa urunlerin tedarikci firmasını da getirin
select k.KategoriAdi,u.UrunAdi,t.FirmaAdi
from Kategoriler k
join Urunler u on u.KategoriID=k.KategoriID
left join Tedarikciler t on t.TedarikciID=u.TedarikciID
-- tüm kategorileri ve tüm ürünleri getirin eğer varsa ürünlerin tedarikci firmasını da getirin
-- full join
select k.KategoriAdi,u.UrunAdi,t.FirmaAdi
from Kategoriler k full join
Urunler u on u.KategoriID=k.KategoriID
left outer join Tedarikciler t on t.TedarikciID=u.TedarikciID
-- tüm eşleşen urunleri ve urunleri getiren tedarikcilerin adları yanında tüm kategorileri getirin
select u.UrunAdi,t.FirmaAdi,k.KategoriAdi
from Urunler u
join Tedarikciler t on t.TedarikciID=u.TedarikciID
full join Kategoriler k on k.KategoriID=u.KategoriID
-- eğer tüm tedarikciler tüm ürünleri getirebiliyor olsaydı tüm secenekleri listeleyelim
select u.UrunAdi,t.FirmaAdi
from Tedarikciler t
cross join Urunler u