Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- - obican (inner) join
- SELECT customer.first_name, customer.last_name, address.address
- FROM customer
- JOIN address
- ON address.address_id = customer.address_id
- +-------------+--------------+----------------------------------------+
- | first_name | last_name | address |
- +-------------+--------------+----------------------------------------+
- | MARY | SMITH | 1913 Hanoi Way |
- | PATRICIA | JOHNSON | 1121 Loja Avenue |
- | LINDA | WILLIAMS | 692 Joliet Street |
- | BARBARA | JONES | 1566 Inegl Manor |
- | ELIZABETH | BROWN | 53 Idfu Parkway |
- | JENNIFER | DAVIS | 1795 Santiago de Compostela Way |
- | MARIA | MILLER | 900 Santiago de Compostela Parkway |
- •
- Inner Join je zapravo Join koji smo videli na prethodnom primeru. Takoreći,
- potpuno identičan efekat ima korišćenje ključne reči JOIN i INNER JOIN, i u oba
- slučaja biće selektovani redovi koji za definisane kolone imaju vrednosti u obe
- tabele. Ovo znači da, ako govorimo hipotetički, ukoliko neki od naših mušterija
- nemaju unetu adresu, oni neće biti prikazani u rezultatima.
- ------------------------------------------------------------------------
- - left join
- mysql> SELECT customer.first_name, customer.last_name, address.address, address.district, address.postal_code FROM customer LEFT JOIN address ON address.address_id = customer.address_id limit 10;
- +------------+-----------+------------------------------------+----------------+-------------+
- | first_name | last_name | address | district | postal_code |
- +------------+-----------+------------------------------------+----------------+-------------+
- | | SMITH | 1913 Hanoi Way | Nagasaki | NULL |
- | PATRICIA | JOHNSON | 1121 Loja Avenue | California | 17886 |
- | LINDA | WILLIAMS | 692 Joliet Street | Attika | 83579 |
- | BARBARA | JONES | 1566 Inegl Manor | Mandalay | 53561 |
- | ELIZABETH | BROWN | 53 Idfu Parkway | Nantou | 42399 |
- | JENNIFER | DAVIS | 1795 Santiago de Compostela Way | Texas | 18743 |
- | MARIA | MILLER | 900 Santiago de Compostela Parkway | Central Serbia | 93896 |
- | SUSAN | WILSON | 478 Joliet Way | Hamilton | 77948 |
- | MARGARET | MOORE | 613 Korolev Drive | Masqat | 45844 |
- | DOROTHY | TAYLOR | 1531 Sal Drive | Esfahan | 53628 |
- +------------+-----------+------------------------------------+----------------+-------------+
- 10 rows in set (0,00 sec)
- •
- Spajanje tabela definisano LEFT JOIN-om vratiće sve zapise iz leve tabele (tabele
- A), pa čak i ako neki od zapisa za tražene kolone nema vrednost
- ------------------------------------------------------------------------
- - right join
- mysql> SELECT customer.first_name, customer.last_name, address.address, address.district, address.postal_code FROM customer RIGHT JOIN address ON address.address_id = customer.address_id limit 10;
- +------------+-----------+---------------------------------+------------+-------------+
- | first_name | last_name | address | district | postal_code |
- +------------+-----------+---------------------------------+------------+-------------+
- | NULL | NULL | 47 MySakila Drive | Alberta | NULL |
- | NULL | NULL | 28 MySQL Boulevard | QLD | |
- | NULL | NULL | 23 Workhaven Lane | Alberta | |
- | NULL | NULL | 1411 Lillydale Drive | QLD | |
- | | SMITH | 1913 Hanoi Way | Nagasaki | NULL |
- | PATRICIA | JOHNSON | 1121 Loja Avenue | California | 17886 |
- | LINDA | WILLIAMS | 692 Joliet Street | Attika | 83579 |
- | BARBARA | JONES | 1566 Inegl Manor | Mandalay | 53561 |
- | ELIZABETH | BROWN | 53 Idfu Parkway | Nantou | 42399 |
- | JENNIFER | DAVIS | 1795 Santiago de Compostela Way | Texas | 18743 |
- +------------+-----------+---------------------------------+------------+-------------+
- 10 rows in set (0,00 sec)
- •
- Slično kao kod prethodnog JOIN-a, sa RIGHT JOIN-om
- dobićemo sve zapise iz desne tabele (tabele B), i samo one
- koji imaju vrednosti za definisane kolone iz tabele A.
- ------------------------------------------------------------------------
- - cross join
- mysql> SELECT * FROM customer cross JOIN address limit 10;
- +-------------+----------+------------+-----------+-------------------------------------+------------+--------+---------------------+---------------------+------------+-------------------+----------+----------+---------+-------------+-------+---------------------------+---------------------+
- | customer_id | store_id | first_name | last_name | email | address_id | active | create_date | last_update | address_id | address | address2 | district | city_id | postal_code | phone | location | last_update |
- +-------------+----------+------------+-----------+-------------------------------------+------------+--------+---------------------+---------------------+------------+-------------------+----------+----------+---------+-------------+-------+---------------------------+---------------------+
- | 1 | 1 | | SMITH | MARY.SMITH@sakilacustomer.org | 5 | 1 | 2006-02-14 22:04:36 | 2017-03-27 12:33:10 | 1 | 47 MySakila Drive | NULL | Alberta | 300 | NULL | | >
- 2]c4\�vۍ��H@ | 2017-03-27 12:34:45 |
- | 2 | 1 | PATRICIA | JOHNSON | PATRICIA.JOHNSON@sakilacustomer.org | 6 | 1 | 2006-02-14 22:04:36 | 2006-02-15 04:57:20 | 1 | 47 MySakila Drive | NULL | Alberta | 300 | NULL | | >
- 2]c4\�vۍ��H@ | 2017-03-27 12:34:45 |
- | 3 | 1 | LINDA | WILLIAMS | LINDA.WILLIAMS@sakilacustomer.org | 7 | 1 | 2006-02-14 22:04:36 | 2006-02-15 04:57:20 | 1 | 47 MySakila Drive | NULL | Alberta | 300 | NULL | | >
- 2]c4\�vۍ��H@ | 2017-03-27 12:34:45 |
- | 4 | 2 | BARBARA | JONES | BARBARA.JONES@sakilacustomer.org | 8 | 1 | 2006-02-14 22:04:36 | 2006-02-15 04:57:20 | 1 | 47 MySakila Drive | NULL | Alberta | 300 | NULL | | >
- 2]c4\�vۍ��H@ | 2017-03-27 12:34:45 |
- | 5 | 1 | ELIZABETH | BROWN | ELIZABETH.BROWN@sakilacustomer.org | 9 | 1 | 2006-02-14 22:04:36 | 2006-02-15 04:57:20 | 1 | 47 MySakila Drive | NULL | Alberta | 300 | NULL | | >
- 2]c4\�vۍ��H@ | 2017-03-27 12:34:45 |
- | 6 | 2 | JENNIFER | DAVIS | JENNIFER.DAVIS@sakilacustomer.org | 10 | 1 | 2006-02-14 22:04:36 | 2006-02-15 04:57:20 | 1 | 47 MySakila Drive | NULL | Alberta | 300 | NULL | | >
- 2]c4\�vۍ��H@ | 2017-03-27 12:34:45 |
- | 7 | 1 | MARIA | MILLER | MARIA.MILLER@sakilacustomer.org | 11 | 1 | 2006-02-14 22:04:36 | 2006-02-15 04:57:20 | 1 | 47 MySakila Drive | NULL | Alberta | 300 | NULL | | >
- 2]c4\�vۍ��H@ | 2017-03-27 12:34:45 |
- | 8 | 2 | SUSAN | WILSON | SUSAN.WILSON@sakilacustomer.org | 12 | 1 | 2006-02-14 22:04:36 | 2006-02-15 04:57:20 | 1 | 47 MySakila Drive | NULL | Alberta | 300 | NULL | | >
- 2]c4\�vۍ��H@ | 2017-03-27 12:34:45 |
- | 9 | 2 | MARGARET | MOORE | MARGARET.MOORE@sakilacustomer.org | 13 | 1 | 2006-02-14 22:04:36 | 2006-02-15 04:57:20 | 1 | 47 MySakila Drive | NULL | Alberta | 300 | NULL | | >
- 2]c4\�vۍ��H@ | 2017-03-27 12:34:45 |
- | 10 | 1 | DOROTHY | TAYLOR | DOROTHY.TAYLOR@sakilacustomer.org | 14 | 1 | 2006-02-14 22:04:36 | 2006-02-15 04:57:20 | 1 | 47 MySakila Drive | NULL | Alberta | 300 | NULL | | >
- 2]c4\�vۍ��H@ | 2017-03-27 12:34:45 |
- +-------------+----------+------------+-----------+-------------------------------------+------------+--------+---------------------+---------------------+------------+-------------------+----------+----------+---------+-------------+-------+---------------------------+---------------------+
- 10 rows in set (0,00 sec)
- • Spajaju se sve kolone sa svim kolonama
- ------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement