SQL KATILIN
Tanımlanan koşullara göre iki veya daha fazla tablodan verileri (satırlar veya sütunlar) getirmek veya birleştirmek için SQL Birleştirmesi kullanılır.
Tablo 1: Sipariş
Sipariş Kimliği | Müşteri Kimliği | SiparişAdı | Ürün adı |
---|---|---|---|
12025 | 101 | Peter | ABC |
12030 | 105 | Robert | XYX |
12032 | 110 | James | XYZ |
12034 | 115 | Andrew | PQR |
12035 | 120 | Mathew | AAA |
Tablo 2: Müşteri
Müşteri Kimliği | Müşteri adı | Ülke |
---|---|---|
100 | Dağınık | Maxico |
101 | Prens | Tayvan |
103 | Maria Fernandez | Türkiye |
105 | Yasemin | Paris |
110 | Faf Gelincik | Endonezya |
120 | Roma Roketi | Rusya |
Artık iki tablomuz var Emir ve Müşteri . Var Müşteri Kimliği sütun her iki tabloda da ortaktır. Bu nedenle, her iki tablodan da eşleşme kayıtlarını seçmek için genel ilişkiyi tanımlamak üzere SQL sorgusunu yazın.
Select Order.OrderID, Customer.CustomerName, Customer.Country, Order.ProductName from Order INNER JOIN Customer ON Order.CustomerID = Customer.CustomerID;
Yukarıdakileri uyguladıktan sonra SQL sorgular, aşağıdaki çıktıyı üretir:
Sipariş Kimliği | Müşteri adı | Ülke | Ürün adı |
---|---|---|---|
12025 | Prens | Tayvan | ABC |
12030 | Yasemin | Paris | XYX |
12032 | Faf Gelincik | Endonezya | XYZ |
12035 | Roma Roketi | Rusya | AAA |
SQL Katılım Türleri
SQL'de kullanılan farklı birleştirme türleri vardır:
- İç Birleştirme / Basit Birleştirme
- Sol Dış Birleştirme / Sol Birleştirme
- Sağ Dış Birleştirme / Sağ Birleştirme
- Tam Dış Birleştirme
- Çapraz Katılma
- Kendi Kendine Katılma
İç birleşim
İç birleştirme, her iki tablodaki eşleşen tüm satırları veya sütunları seçmek için veya tanımlanan koşul SQL'de geçerli olduğu sürece kullanılır.
Sözdizimi:
Select column_1, column_2, column_3 FROM table_1 INNER JOIN table_2 ON table_1.column = table_2.column;
İç birleştirmeyi Venn diyagramı aracılığıyla aşağıdaki gibi gösterebiliriz:
Tablo 1: Öğrenciler
Öğrenci Kimliği | Öğrenci adı | Ders | Öğretmen Kimliği |
---|---|---|---|
101 | Alexandra | Bilgisayar Bilimi | T201 |
102 | Charles | Ekonomi | T202 |
103 | Tom Cruise | Bilgisayar Bilimi | T201 |
104 | Aaron Finch | Elektronik | T203 |
105 | Tohum Bajoff | Web tasarımı | T204 |
106 | Christopher | İngiliz edebiyatı | T205 |
107 | Kot | Moda tasarımcısı | T206 |
Tablo 2: Öğretmenler
Öğretmen Kimliği | Öğretmen adı | ÖğretmenE-posta |
---|---|---|
T201 | Bay Davis | [e-posta korumalı] |
T202 | Bayan Jonas | [e-posta korumalı] |
T201 | Bay Davis | [e-posta korumalı] |
T204 | Bayan Lopez | [e-posta korumalı] |
T205 | Bayan Wiley | [e-posta korumalı] |
T206 | Bay Bean | [e-posta korumalı] |
İki tablomuz var: Öğrenciler ve Öğretmenler Tablolar. Tabloyu kullanarak tabloya katılacak SQL Sorgularını yazalım. İÇ BİRLEŞİM aşağıdaki gibi:
Select Student_ID, StudentName, TeacherName, TeacherEmail FROM Students INNER JOIN Teachers ON Students.TeacherID = Teachers.TeacherID;
Sorguyu çalıştırdıktan sonra aşağıdaki tabloyu oluşturur.
Doğal Birleştirme
İki veya daha fazla tabloyu aynı sütun adına göre birleştiren ve her iki tabloda da aynı veri türüne sahip olan bir iç tür türüdür.
Sözdizimi:
Select * from tablename1 Natural JOIN tablename_2;
İki tablomuz var: Öğrenciler ve Öğretmenler Tablolar. Tabloyu kullanarak tabloya katılacak SQL Sorgularını yazalım. Doğal KATIL aşağıdaki gibi:
Select * from Students Natural JOIN Teachers;
Yukarıdaki sorguyu çalıştırdıktan sonra aşağıdaki tabloyu oluşturur.
SOL YÖNDEN KATILIM
SOL YÖNDEN KATILIM soldaki tablodan (tablo1) tüm kayıtları, sağdaki tablodan (tablo2) eşleşen satır veya sütunları almak için kullanılır. Her iki tablo da eşleşen satır veya sütun içermiyorsa NULL değerini döndürür.
Sözdizimi:
Select column_1, column_2, column(s) FROM table_1 LEFT JOIN table_2 ON table_1.column_name = table_2.column_name;
Ayrıca sol birleşimi Venn diyagramı aracılığıyla aşağıdaki gibi temsil edebiliriz:
Not: Bazı veritabanlarında LEFT JOIN, LEFT OUTER JOIN olarak da bilinir.
Tablo 1: Ürün_Ayrıntıları
Ürün kimliği | Ürün adı | Miktar |
---|---|---|
Pro101 | Dizüstü bilgisayar | 56000 |
Pro102 | Mobil | 38000 |
Pro103 | Kulaklıklar | 5000 |
Pro104 | Televizyon | 25000 |
Pro105 | iPad | 60000 |
Tablo 2: Müşteri_Ayrıntıları
java'daki csv dosyasından okuyun
Müşteri adı | Müşteri adresi | Müşteri Yaşı | Ürün kimliği |
---|---|---|---|
Martin Guptill | San Francisco, ABD | 26 | Pro101 |
James | Avustralya | 29 | Pro103 |
Ambati Williamson | Yeni Zelanda | 27 | Pro102 |
Jofra Okçu | Güney Afrika | 24 | Pro105 |
Kate Wiley | Avustralya | yirmi | Pro103 |
İki tablomuz var: Ürün Detayları ve Müşteri detayları Tablolar. Tabloyu kullanarak tabloya katılacak SQL Sorgularını yazalım. SOL YÖNDEN KATILIM aşağıdaki gibi:
Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details LEFT JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID;
Sorguyu çalıştırdıktan sonra aşağıdaki tabloyu oluşturur.
RIGHT JOIN veya RIGHT Outer JOIN:
DOĞRU KATILIN sağdaki tablodan (tablo2) tüm kayıtları, soldaki tablodan (tablo1) eşleşen satır veya sütunları almak için kullanılır. Her iki tablo da eşleşen satır veya sütun içermiyorsa NULL değerini döndürür.
Sözdizimi:
Select column_1, column_2, column(s) FROM table_1 RIGHT JOIN table_2 ON table_1.column_name = table_2.column_name;
Doğru birleştirmeyi Venn diyagramı aracılığıyla aşağıdaki gibi de gösterebiliriz:
Not: Bazı veritabanlarında RIGHT JOIN aynı zamanda RIGHT OUTER JOIN olarak da bilinir.
Tablo 1: Ürün_Ayrıntıları
İD | Ürün adı | Miktar |
---|---|---|
Pro101 | Dizüstü bilgisayar | 56000 |
Pro102 | Mobil | 38000 |
Pro103 | Kulaklıklar | 5000 |
Pro104 | Televizyon | 25000 |
Pro105 | iPad | 60000 |
Tablo 2: Müşteri_Ayrıntıları
Müşteri adı | Müşteri adresi | Müşteri Yaşı | Ürün kimliği |
---|---|---|---|
Martin Guptill | San Francisco, ABD | 26 | Pro101 |
James | Avustralya | 29 | Pro103 |
Ambati Williamson | Yeni Zelanda | 27 | Pro102 |
Jofra Okçu | Güney Afrika | 24 | Pro105 |
alamet | İngiltere | 29 | Pro107 |
Morgan | İngiltere | yirmi | Pro108 |
İki tablomuz var: Ürün Detayları ve Müşteri detayları Tablolar. Tabloyu kullanarak tabloya katılacak SQL Sorgularını yazalım. DOĞRU KATILIN aşağıdaki gibi:
vicky kaushal'ın yaşı
Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details LEFT JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID;
Sorguyu çalıştırdıktan sonra aşağıdaki tabloyu oluşturur.
FULL JOIN veya FULL Outer JOIN:
Her ikisinin birleşiminden oluşan bir sonuç kümesidir SOL YÖNDEN KATILIM Ve DOĞRU KATILIN . Birleştirilen tablolar, her iki tablodaki tüm kayıtları döndürür ve tabloda hiçbir eşleşme bulunamazsa NULL değerini yerleştirir. Aynı zamanda denir TAM DIŞ BİRLEŞİM .
Sözdizimi:
Select column_1, column_2, column(s) FROM table_1 FULL JOIN table_2 ON table_1.column_name = table_2.column_name;
Veya, TAM DIŞ BİRLEŞİM
Select column_1, column_2, column(s) FROM table_1 FULL OUTER JOIN table_2 ON table_1.column_name = table_2.column_name;
Ayrıca tam dış birleşimi Venn diyagramı aracılığıyla aşağıdaki gibi temsil edebiliriz:
Tablo 1: Ürün_Ayrıntıları
İD | Ürün adı | Miktar |
---|---|---|
Pro101 | Dizüstü bilgisayar | 56000 |
Pro102 | Mobil | 38000 |
Pro103 | Kulaklıklar | 5000 |
Pro104 | Televizyon | 25000 |
Pro105 | iPad | 60000 |
Tablo 2: Müşteri_Ayrıntıları
Müşteri adı | Müşteri adresi | Müşteri Yaşı | Ürün kimliği |
---|---|---|---|
Martin Guptill | San Francisco, ABD | 26 | Pro101 |
James | Avustralya | 29 | Pro103 |
Ambati Williamson | Yeni Zelanda | 27 | Pro102 |
Jofra Okçu | Güney Afrika | 24 | Pro105 |
alamet | İngiltere | 29 | Pro107 |
Morgan | İngiltere | yirmi | Pro108 |
İki tablomuz var: Ürün Detayları ve Müşteri detayları Tablolar. Tabloyu kullanarak tabloya katılacak SQL Sorgularını yazalım. TAM DOLU Aşağıdaki şekilde KATILIN:
Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details FULL JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID;
Sorguyu çalıştırdıktan sonra aşağıdaki tabloyu oluşturur.
Not: MySQL, FULL JOIN kavramlarını desteklemediğinden, her iki tabloyu birleştirmek için UNION ALL yan tümcesini kullanabiliriz.
İşte sözdizimi BİRLİK TÜMÜ Tabloları birleştirmek için madde.
Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details LEFT JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID UNION ALL Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details RIGHT JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID
ÇAPRAZ KATIL
Aynı zamanda şu şekilde de bilinir: KARTEZYEN BİRLEŞİM iki veya daha fazla birleştirilmiş tablonun Kartezyen çarpımını döndürür. ÇAPRAZ KATIL ilk tablodaki her satırı ikinci tablo satırıyla birleştiren bir tablo üretir. CROSS JOIN'e herhangi bir koşul eklenmesi zorunlu değildir.
Sözdizimi:
Select * from table_1 cross join table_2;
Veya,
Select column1, column2, column3 FROM table_1, table_2;
Tablo 1: Ürün_Ayrıntıları
İD | Ürün adı | Miktar |
---|---|---|
Pro101 | Dizüstü bilgisayar | 56000 |
Pro102 | Mobil | 38000 |
Pro103 | Kulaklıklar | 5000 |
Pro104 | Televizyon | 25000 |
Pro105 | iPad | 60000 |
Tablo 2: Müşteri_Ayrıntıları
Müşteri adı | Müşteri adresi | Müşteri Yaşı | Ürün kimliği |
---|---|---|---|
Martin Guptill | San Francisco, ABD | 26 | Pro101 |
James | Avustralya | 29 | Pro103 |
Ambati Williamson | Yeni Zelanda | 27 | Pro102 |
Jofra Okçu | Güney Afrika | 24 | Pro105 |
alamet | İngiltere | 29 | Pro107 |
Morgan | İngiltere | yirmi | Pro108 |
İki tablomuz var: Ürün Detayları ve Müşteri detayları Tablolar. Tabloyu kullanarak tabloya katılacak SQL Sorgularını yazalım. TAM DOLU Aşağıdaki şekilde KATILIN:
Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details, Customer_Details;
Sorguyu çalıştırdıktan sonra aşağıdaki tabloyu oluşturur.
KENDİNE KATILIN
İki tablo olduğu için kendisini birleştirerek bir tablo oluşturmak için kullanılan bir SELF JOIN'dir. Bir SQL deyiminde en az bir tablonun geçici olarak adlandırılmasını sağlar.
Sözdizimi:
Select column1, column2, column(s) FROM table_1 Tbl1, table_2 Tbl2 WHERE condition;
tablo 1 Ve Tbl2 aynı tablo için iki farklı tablo takma adıdır.
Tablo 1: Ürün_Ayrıntıları
İD | Ürün adı | Miktar |
---|---|---|
Pro101 | Dizüstü bilgisayar | 56000 |
Pro102 | Mobil | 38000 |
Pro103 | Kulaklıklar | 5000 |
Pro104 | Televizyon | 25000 |
Pro105 | iPad | 60000 |
Tabloyu kullanarak tabloya katılacak SQL Sorgularını yazalım. KENDİNE KATILIN aşağıdaki gibi:
Select TB.ID, TB.ProductName FROM Product_Details TB, Product_Details TB2 WHERE TB.AMOUNT <tb2.amount; < pre> <p>After executing the query, it produces the below table. </p> <img src="//techcodeview.com/img/sql-tutorial/44/types-sql-join-12.webp" alt="Types of SQL JOIN"> <hr></tb2.amount;>