SQL Łączy

SQL przyłącza są używane do powiązania informacji w różnych tabelach. Stan Zarejestrowany jest częścią zapytania SQL, która pobiera wiersze z dwóch lub więcej tabel. SQL Dołącz warunek jest stosowany w SQL WHERE select, update, DELETE.

Składnia do łączenia dwóch tabel jest:

SELECT col1, col2, col3...
FROM table_name1, table_name2
WHERE table_name1.col2 = table_name2.col1;

Jeśli SQL dołączyć warunek zostanie pominięty lub jest nieprawidłowy dołączyć operacja spowoduje iloczyn kartezjański. Iloczyn zwraca liczbę wierszy równą produktu wszystkich rzędów we wszystkich tabelach są łączone. Na przykład, jeżeli pierwszy stół ma 20 rzędów, a drugi stół ma 10 rzędów, wynik wynosi 20 * 10 lub 200 wierszy. Zapytanie to zajmuje dużo czasu, aby wykonać.

Pozwala korzystać z poniższych dwóch tabelach wyjaśnić SQL dołączyć warunki.

tabeli bazy danych "produktów";

product_id product_name supplier_name unit_price
100 Camera Nikon 300
101 Television Onida 100
102 Refrigerator Vediocon 150
103 Ipod Apple 75
104 Mobile Nokia 50

tabeli bazy danych "order_items";

order_id product_id total_units customer
5100 104 30 Infosys
5101 102 5 Satyam
5102 103 25 Wipro
5103 101 10 TCS

SQL przyłącza można podzielić na Equi dołączyć i dla Equi dołączyć.

1) SQL Equi łączy

To proste sql dołączyć warunek, który używa znaku równości jako operator porównania. Dwa rodzaje equi łączy się SQL i SQL dołączyć zewnętrzny Wewnętrzna dołączyć.

Na przykład: Można uzyskać informacje na temat klienta, który nabył produkt i ilość produktu.

2) dołącza do SQL dla equi

Jest to stan, który SQL przyłączyć używa jakiegoś operatora porównania innych niż znak równości jak>, <,>=, <=

1) SQL Equi przyłącza:

Equi-join jest dodatkowo podzielone na dwie kategorie:
) SQL Inner Join
b) SQL Outer Join

) SQL Inner Join:

Wszystkie wiersze zwrócone przez zapytanie SQL sql dołączyć spełniają warunek określony.

Na przykład: Jeśli chcesz, aby wyświetlić informacje o produkcie dla każdego zamówienia zapytanie będzie, jak podano poniżej. Ponieważ są pobierane dane z dwóch tabel, należy wskazać wspólny kolumnę między tymi dwiema tabelami, które theproduct_id.

Zapytanie dla tego typu SQL łączy będzie jak,

SELECT order_id, product_name, unit_price, supplier_name, total_units
FROM product, order_items
WHERE order_items.product_id = product.product_id;

Kolumny muszą być określany nazwą tablicy w stanie sprzężenia, ponieważ produkt_id jest kolumną w obu tablicach i musi mieć możliwość identyfikacji. Pozwala to uniknąć dwuznaczności w użyciu kolumny w instrukcji SQL SELECT.

Liczba łączą warunkach wynosi (n-1), w przypadku więcej niż dwóch tabel połączone w zapytaniu, gdzie "n" jest liczba tablic stron. Zasada musi być prawdziwe, aby uniknąć produkt kartezjański.

Możemy również używać aliasów odwołać nazwę kolumny, a następnie powyżej zapytanie będzie jak,

SELECT o.order_id, p.product_name, p.unit_price, p.supplier_name, o.total_units
FROM product p, order_items o
WHERE o.product_id = p.product_id;

b) SQL Outer Join:

Sql to dołączyć warunek zwróci wszystkie wiersze z obu tabel, które spełniają warunek przystąpienia wraz z wierszy, które nie spełniają warunków złączenia z jednej z tabel. SQL sprzężenia zewnętrznego operatora Oracle to (+), które służą z jednej strony tylko na stan sprzężenia.

Składnia różni się dla różnych implementacji RDBMS. Niewielu z nich stanowią warunki przyłączenia jak "sql lewe sprzężenie zewnętrzne", "sql prawe sprzężenie zewnętrzne".

Jeśli chcesz wyświetlić wszystkie dane produktów wraz z danymi pozycji zamówień, o wartości null wyświetlanych przedmiotów zamówienia, jeżeli produkt nie ma przedmiotu zamówienia, zapytania SQL dla sprzężenia zewnętrznego będzie tak jak pokazano poniżej:

SELECT p.product_id, p.product_name, o.order_id, o.total_units
FROM order_items o, product p
WHERE o.product_id (+) = p.product_id;

Wyjście będzie jak,

product_id product_name order_id total_units
------------- ------------- ------------- -------------
100 Camera
101 Television 5103 10
102 Refrigerator 5101 5
103 Ipod 5102 25
104 Mobile 5100 30

UWAGA:Jeśli operatora (+) stosuje się w lewym boku stanie sprzężenia jest równoważne do lewej zewnętrznej przyłączyć. W przypadku stosowania z prawej strony stanu sprzężenia jest równoważne odpowiednim sprzężenia zewnętrznego.

SQL Własna Dołącz:

Własna Dołącz to typ sql dołączyć które jest używane do łączenia tabeli do siebie, szczególnie gdy tabela ma klucz obcy, która odwołuje własny klucz podstawowy. Jest to konieczne, aby zapewnić, że oświadczenie dołączyć definiuje alias obie kopie tabeli, aby uniknąć kolumny niejasności.

Poniższe zapytanie jest przykładem samodzielnego przyłączenia,

SELECT a.sales_person_id, a.name, a.manager_id, b.sales_person_id, b.name
FROM sales_person a, sales_person b
WHERE a.manager_id = b.sales_person_id;

2) SQL dla Equi Dołącz:

Dla Equi Join jest SQL Dołącz do którego stan jest nawiązywane przy użyciu wszystkie operatory porównania oprócz równości (=) operatora. Jak> =, <=, <,>

Na przykład: Jeśli chcesz się dowiedzieć nazwiska studentów, którzy nie studiują albo ekonomia, zapytanie SQL będzie jak, (umożliwia wykorzystanie student_details tabela zdefiniowane wcześniej.)

SELECT first_name, last_name, subject
FROM student_details
WHERE subject != 'Economics'

Wyjście będzie coś w stylu:

first_name last_name subject
------------- ------------- -------------
Anajali Bhagwat Maths
Shekar Gowda Maths
Rahul Sharma Science
Stephen Fleming Science