vt2 hafta5 NOB

 -- hangi siparişi, hangi müşteri hangi çalışana vermiştir??

-- hangi nakliyeci taşımıştır? Siparişte hangi üründen kaç liraya

-- kaçtane satılmıştır, indirim uygulanmışmıdır?

-- Ürünlerin Satıcı Firmasını 

--ve Kategorisini de gösteriniz

SELECT Siparişler.SiparişNo,

Siparişler.MüşteriNo,

Müşteriler.Adı AS MüşAd, Müşteriler.Soyadı AS MüşSoyad,

Siparişler.ÇalışanNo,

Çalışanlar.Adı + ' ' +Çalışanlar.Soyadı AS Çalışanlar,

Nakliyeciler.ŞİRKET AS KargoFirması,

[Sipariş Detayları].ÜrünNo, Ürünler.ÜrünAd,

Kategoriler.KategoriAdı,

[Sipariş Detayları].BirimFiyat,

[Sipariş Detayları].Miktar, [Sipariş Detayları].İndirim,

Satıcılar.FirmaAdı AS SatıcıFirma

FROM Siparişler

INNER JOIN Müşteriler

ON Siparişler.MüşteriNO = Müşteriler.MüşteriNo

INNER JOIN Çalışanlar

ON Siparişler.ÇalışanNo = Çalışanlar.ÇalışanNo

INNER JOIN Nakliyeciler

ON Siparişler.Nakliyeci = Nakliyeciler.NAKLİYECİNO

INNER JOIN [Sipariş Detayları]

ON Siparişler.SiparişNo = [Sipariş Detayları].SiparişNo

INNER JOIN Ürünler 

ON [Sipariş Detayları].ÜrünNo = Ürünler.ÜrünNo

INNER JOIN Satıcılar 

ON Ürünler.SatıcıFirmaNo = Satıcılar.SatıcıFirmaNo

INNER JOIN Kategoriler ON Ürünler.KategoriNo = Kategoriler.KategoriNo


SELECT * FROM Çalışanlar


-- Neden dış birleştirme ??

-----------------------------------------------


-- kaç müşteri? kaç sipariş var ?

SELECT COUNT(*) FROM Müşteriler -- 119

SELECT COUNT(*) FROM Siparişler        --  87 

-- sipariş vermemiş müşteriler var!!!!


--Hangi müşteri, hangi siparişi vermiştir

-- Sipariş vermiş Müşteriler ::

SELECT * FROM Siparişler -- 10 tane sipariş vermiş müşteri var

INNER JOIN Müşteriler 

ON Siparişler.MüşteriNo = Müşteriler.MüşteriNo

-- 87-9 = 78 siparişi Müşteriler tablosuna kayıtlı

-- olmayan birileri sipariş etmiş


------Tablo Birleştirme

-- INNER JOIN : İç birleştirme

-- OUTER JOIN : dış birleştirme

LEFT OUTER JOIN : SOL DIŞ BİRLEŞTİRME

Bir iç birleştirme + soldaki tablonun birleştirme

koşuluna uymayan kayıtları

RIGHT OUTER JOIN : SAĞ DIŞ BİRLEŞTİRME

Bir iç birleştirme + sağdaki tablonun birleştirme

koşuluna uymayan kayıtları

FULL  OUTER JOIN : TAM DIŞ BİRLEŞTİRME

Bir iç birleştirme + soldaki ve sağdaki tablonun

birleştirme koşuluna uymayan kayıtları


SELECT * FROM solTablo INNER JOIN SağTablo ON...


--Hangi müşteri, hangi siparişi vermiştir

-- Sipariş vermemiş Müşteriler ile birlikte listeleyiniz

-- (birleştime koşulunı sağlamayan Müşteriler)

SELECT SiparişNo,Müşteriler.Adı, Müşteriler.Soyadı

FROM Siparişler -- sol

RIGHT OUTER JOIN Müşteriler    -- sağ

ON Siparişler.MüşteriNo = Müşteriler.MüşteriNo

Order by SiparişNo

----------------------------------------------

--Hangi müşteri, hangi siparişi vermiştir?

-- kimin verdiği belirli olmayan siparişler ile

-- birlikte listeleyiniz

-- (birleştime koşulunı sağlamayan Siparişler)

SELECT SiparişNo,Müşteriler.Adı, Müşteriler.Soyadı

FROM Siparişler -- sol

LEFT OUTER JOIN Müşteriler    -- sağ

ON Siparişler.MüşteriNo = Müşteriler.MüşteriNo

Order by SiparişNo

--------------------------------------------------

--Hangi müşteri, hangi siparişi vermiştir?

-- Sipariş vermemiş müşteriler ve

-- kimin verdiği belirli olmayan siparişler ile

-- birlikte listeleyiniz

-- (birleştime koşulunı sağlamayan hem Siparişler 

-- hem de Müşteriler isteniyor)

SELECT SiparişNo,Müşteriler.Adı, Müşteriler.Soyadı

FROM Siparişler -- sol

FULL OUTER JOIN Müşteriler    -- sağ

ON Siparişler.MüşteriNo = Müşteriler.MüşteriNo

Order by SiparişNo





Yorumlar

Bu blogdaki popüler yayınlar

2025-2026 Bahar BAUN, Balıkesir MYO, Bilgisayar programcılığı, seçilecek dersler

Dart dilinin değişkenleri