inner join etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
inner join etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
- Bazı durumlarda sorgu sonucu dönen listeyle ilgili değilde herhangi bir değer dönüp dönmediyle ilgileniriz.
- İşte böyle durumlarda EXISTS ve NOT EXISTS kullanırız.
- EXISTS ve NOT EXISTS kullanımı TRUE veya FALSE değerleri döndürür.
Sorgu-1:
SELECT EmployeeId,LastName,FirstName
FROM Employees AS e
WHERE EXISTS
(SELECT * FROM Orders AS o
WHERE e.EmployeeId=o.EmployeeId
AND o.OrderDate BETWEEN '3/5/1997' AND '4/5/1997')
Sorgu-1:
SELECT DISTINCT FirstName,LastName, e.Employeeid
FROM Orders AS o
INNER JOIN Employees AS e
ON o.Employeeid =e.Employeeid
WHERE o.OrderDate BETWEEN '3/5/1997' AND '4/5/1997'
AND
,
AS
,
BETWEEN
,
DISTINCT
,
EXISTS
,
FALSE
,
FROM
,
inner join
,
NOT EXISTS
,
SELECT
,
SQL
,
sql exist neden kullanılır
,
sql exist nedir
,
sql exist örnekleri
,
SUBQUERIES
,
TRUE
,
WHERE
.
1
SUBQUERİES- EXISTS ve NOT EXISTS Kullanımı
SELECT alan_ad(lari) FROM tablo1 INNER JOIN tablo2 ON tablo1.alan_adi=tablo2.alan_adi |
veya
SELECT alan_ad(lari) FROM tablo1 JOIN tablo2 ON tablo1.alan_adi=tablo2.alan_adi |
NOT: INNER JOIN yerine sadece JOIN kullanılabilir.
Burada görüleceği üzere From ifadesi ile birinci tablomuzu ve ardından JOIN (veya INNER JOIN) ile ikinci tablomuu belirtmiş oluyoruz. ON ile hangi alanların eşitleneceği gösterilmektedir. Birinci tabloda olan bir kayıt ikinci tabloda olmayabilir veya ikinci tabloda olan ir kayıt biirnci tabloda olmayabilir. Bu durumda sadece belirtilen alanlarda eşit olan kayıtlar seçilir. Mesele id_no alanına göre eşitleme yapılırsa birinci tabloda id_no alanında 1,2,3 kayıtları ve ikinci tabloda id_no alanında 1,2,3,4,5 kayıtları varsa; bu kayıtlardan sadece 1,2,3 olanlar işleme alınır. Her iki tabloda bulunan ortak kayıtlar seçilir. Yani kesişim kümesi baz alınır.
Örnek Tablo Uygulaması:
Örnek olarak aşağıdaki gibi Müşteriler isimli tablomuz olsun.
id | Adi_soyadi |
1 | Salih ESKİOĞLU |
2 | Ayhan ÇETİNKAYA |
3 | Serkan ÖZGÜREL |
4 | İlhan ÖZLÜ |
İkinci tablomuz olan Satışlar ise aşağıdaki gibi olsun.
id | Satilan_mal | Satis_fiyati |
1 | Buzdolabi | 1200 |
1 | LCD TV | 1800 |
2 | LCD TV | 1750 |
1 | Çamaşır Makinesi | 950 |
Örnek1:
SELECT *
FROM Mutseriler JOIN Satislar
ON Musteriler.id=Satislar.id
Bu kodda iki tablodaki id alanları eşitlenmiş. id alanında ortak olan kayıtlar seçilecek ve diğer kayıtlar dikkate alınmayacaktır. 3 ve 4 nolu id lere sahip müşteriler çıktı kayıtlarında olmayacaktır. Çünkü Satışlar tablosunda bunlarla iligli bir kayıt bulunmamaktadır.
Çıktısı:
id | Adi_soyadi | Satilan_mal | Satis_fiyati |
1 | Salih ESKİOĞLU | Buzdolabı | 1200 |
1 | Salih ESKİOĞLU | LCD TV | 1800 |
2 | Ayhan ÇETİNKAYA | LCD TV | 1750 |
1 | Salih ESKİOĞLU | Çamaşır Makinesi | 950 |
Örnek2:
SELECT Adi_soyadi, Satilan_mal
FROM Musteriler JOIN Satislar
ON Musteriler.id=Satislar.id
Bu kod ile sadece adı soyadı ve satılan mal alanları seçilmiş. Gene aynı şekilde id alanalr eşit olan kayıtlar işleme alınmış. Çıktıya dikkat edilirse id alanı çıktı alanları arasında yoktur. Çünkü select ile ilgili alan belirtilmemiştir.
SELECT Adi_soyadi, Satilan_mal
FROM Musteriler JOIN Satislar
ON Musteriler.id=Satislar.id
Bu kod ile sadece adı soyadı ve satılan mal alanları seçilmiş. Gene aynı şekilde id alanalr eşit olan kayıtlar işleme alınmış. Çıktıya dikkat edilirse id alanı çıktı alanları arasında yoktur. Çünkü select ile ilgili alan belirtilmemiştir.
Çıktısı:
Adi_soyadi | Satilan_mal |
Salih ESKİOĞLU | Buzdolabı |
Salih ESKİOĞLU | LCD TV |
Ayhan ÇETİNKAYA | LCD TV |
Salih ESKİOĞLU | Çamaşır Makinesi |
Örnek3:
SELECT Adi_soyadi, Satilan_mal, musteriler.id AS id_no
FROM Musteriler JOIN Satislar
ON Musteriler.id=Satislar.id
ORDER BY id_no ASC
Bu kodda Select ifadesinden sonra musteri tablosundaki id alanı AS ifadesi ile özel tanım olarak belirtilmiştir. Yani SQL kodu içerisinde müşteri tablosunun id alanı kısaca id_no olarak kullanılacaktır. AS için detaylı kullanım bilgisine buradan ulaşabilirsiniz. ORDER BY ile seçilen kayıtlar id numarasına küçükten büyüğe sıralanmıştır.
SELECT Adi_soyadi, Satilan_mal, musteriler.id AS id_no
FROM Musteriler JOIN Satislar
ON Musteriler.id=Satislar.id
ORDER BY id_no ASC
Bu kodda Select ifadesinden sonra musteri tablosundaki id alanı AS ifadesi ile özel tanım olarak belirtilmiştir. Yani SQL kodu içerisinde müşteri tablosunun id alanı kısaca id_no olarak kullanılacaktır. AS için detaylı kullanım bilgisine buradan ulaşabilirsiniz. ORDER BY ile seçilen kayıtlar id numarasına küçükten büyüğe sıralanmıştır.
Çıktısı:
id_no | Adi_soyadi | Sehir |
1 | Salih ESKİOĞLU | Buzdolabı |
1 | Salih ESKİOĞLU | LCD TV |
1 | Salih ESKİOĞLU | Çamaşır Makinesi |
2 | Ayhan ÇETİNKAYA | LCD TV |
SQL INNER JOIN Kullanımı ( SQL Tablo Birlestirmek)
Kaydol:
Kayıtlar
(
Atom
)