SQL - Birleştirmeleri Kullanma
SQL Joinsyan tümcesi, bir veritabanındaki iki veya daha fazla tablodaki kayıtları birleştirmek için kullanılır. BİRLEŞTİRME, her biri için ortak olan değerleri kullanarak iki tablodan alanları birleştirmek için bir araçtır.
Aşağıdaki iki tabloyu düşünün -
Table 1 - MÜŞTERİ Tablosu
+----+----------+-----+-----------+----------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+-----------+----------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 2 | Khilan | 25 | Delhi | 1500.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
| 4 | Chaitali | 25 | Mumbai | 6500.00 |
| 5 | Hardik | 27 | Bhopal | 8500.00 |
| 6 | Komal | 22 | MP | 4500.00 |
| 7 | Muffy | 24 | Indore | 10000.00 |
+----+----------+-----+-----------+----------+
Table 2 - SİPARİŞLER Tablosu
+-----+---------------------+-------------+--------+
|OID | DATE | CUSTOMER_ID | AMOUNT |
+-----+---------------------+-------------+--------+
| 102 | 2009-10-08 00:00:00 | 3 | 3000 |
| 100 | 2009-10-08 00:00:00 | 3 | 1500 |
| 101 | 2009-11-20 00:00:00 | 2 | 1560 |
| 103 | 2008-05-20 00:00:00 | 4 | 2060 |
+-----+---------------------+-------------+--------+
Şimdi, bu iki tabloyu aşağıda gösterildiği gibi SELECT deyimimizde birleştirelim.
SQL> SELECT ID, NAME, AGE, AMOUNT
FROM CUSTOMERS, ORDERS
WHERE CUSTOMERS.ID = ORDERS.CUSTOMER_ID;
Bu, aşağıdaki sonucu verecektir.
+----+----------+-----+--------+
| ID | NAME | AGE | AMOUNT |
+----+----------+-----+--------+
| 3 | kaushik | 23 | 3000 |
| 3 | kaushik | 23 | 1500 |
| 2 | Khilan | 25 | 1560 |
| 4 | Chaitali | 25 | 2060 |
+----+----------+-----+--------+
Burada, birleştirmenin WHERE yan tümcesinde gerçekleştirildiği dikkat çekicidir. Tabloları birleştirmek için =, <,>, <>, <=,> =,! =, BETWEEN, LIKE ve NOT gibi çeşitli operatörler kullanılabilir; hepsi tabloları birleştirmek için kullanılabilir. Bununla birlikte, en yaygın operatör eşittir simgesidir.
SQL'de farklı türde birleştirme vardır -
INNER JOIN - her iki tabloda da bir eşleşme olduğunda satırları döndürür.
LEFT JOIN - sağ tabloda hiç eşleşme olmasa bile soldaki tablodaki tüm satırları döndürür.
RIGHT JOIN - sol tabloda hiç eşleşme olmasa bile sağ tablodaki tüm satırları döndürür.
FULL JOIN - tablolardan birinde bir eşleşme olduğunda satırları döndürür.
SELF JOIN - bir tabloyu, tablo iki tablodaymış gibi kendisine birleştirmek için kullanılır, SQL ifadesindeki en az bir tabloyu geçici olarak yeniden adlandırır.
CARTESIAN JOIN - iki veya daha fazla birleştirilmiş tablodaki kayıt kümelerinin Kartezyen çarpımını döndürür.
Şimdi bu birleşimlerin her birini ayrıntılı olarak tartışalım.