ARSIP BULANAN : December 2012

SQL JOIN

01 December 2012 09:32:44 Dibaca : 440

Bagian I

SQL BERGABUNG  (SQL JOIN)

Kata kunci BERGABUNG digunakan dalam sebuah pernyataan SQL untuk query data dari dua atau lebih tabel, didasarkan pada hubungan antara kolom tertentu dalam tabel ini.

Tabel dalam database sering berhubungan satu sama lain dengan kunci.

Kunci utama adalah kolom (atau kombinasi dari kolom) dengan nilai unik untuk setiap baris. Setiap nilai kunci primer harus unik dalam tabel. Tujuannya adalah untuk mengikat data bersama-sama, di meja, tanpa mengulangi semua data di setiap meja.

Lihatlah tabel "Orang":

P_Id

LastName

FirstName

Alamat

Kota

1

Hansen

Ola

Timoteivn 10

Sandnes

2

Svendson

Tove

Borgvn 23

Sandnes

3

Pettersen

Kari

Storgt 20

Stavanger

Perhatikan bahwa "P_Id" kolom adalah kunci utama dalam tabel "Orang". Ini berarti bahwa tidak ada dua baris dapat memiliki P_Id yang sama. P_Id membedakan dua orang bahkan jika mereka memiliki nama yang sama.

Selanjutnya, kita memiliki "Perintah" tabel:

O_Id

OrderNo

P_Id

1

77895

3

2

44678

3

3

22456

1

4

24562

1

5

34764

15

Perhatikan bahwa "O_Id" kolom adalah kunci utama dalam tabel "Orders" dan bahwa "P_Id" kolom mengacu pada orang-orang dalam tabel "Orang" tanpa menggunakan nama mereka.

Perhatikan bahwa hubungan antara dua tabel di atas adalah "P_Id" kolom.


SQL yang berbeda Bergabung

Sebelum kita lanjutkan dengan contoh-contoh, kami akan memberikan daftar jenis BERGABUNG dapat Anda gunakan, dan perbedaan di antara mereka.

  • BERGABUNG : Kembali baris ketika ada setidaknya satu pertandingan di kedua tabel
  • LEFT JOIN : Kembali semua baris dari tabel kiri, bahkan jika tidak ada pertandingan di tabel kanan
  • RIGHT JOIN : Kembali semua baris dari tabel kanan, bahkan jika tidak ada pertandingan di tabel kiri
  • FULL JOIN : baris Kembali ketika ada pertandingan di salah satu meja

 

SQL FULL JOIN Kata Kunci

The FULL JOIN baris kata kunci kembali ketika ada pertandingan di salah satu meja.

SQL FULL JOIN Sintaks

SELECT column_name(s)
FROM table_name1
FULL JOIN table_name2
ON table_name1.column_name=table_name2.column_name

 


SQL FULL JOIN Contoh

The "Orang" tabel:

P_Id

LastName

FirstName

Alamat

Kota

1

Hansen

Ola

Timoteivn 10

Sandnes

2

Svendson

Tove

Borgvn 23

Sandnes

3

Pettersen

Kari

Storgt 20

Stavanger

The "Perintah" tabel:

O_Id

OrderNo

P_Id

1

77895

3

2

44678

3

3

22456

1

4

24562

1

5

34764

15

Sekarang kita ingin daftar semua orang dan pesanan mereka, dan semua perintah dengan orang-orang mereka.

Kami menggunakan pernyataan SELECT berikut:

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
FULL JOIN Orders
ON Persons.P_Id=Orders.P_Id
ORDER BY Persons.LastName

Hasil-set akan terlihat seperti ini:

LastName

FirstName

OrderNo

Hansen

Ola

22456

Hansen

Ola

24562

Pettersen

Kari

77895

Pettersen

Kari

44678

Svendson

Tove

 

 

 

34764

Kata kunci BERGABUNG LENGKAP mengembalikan semua baris dari tabel kiri (Orang), dan semua baris dari tabel kanan (Pesanan). Jika ada baris dalam "Orang" yang tidak memiliki pertandingan di "Perintah", atau jika ada baris dalam "Pesanan" yang tidak memiliki pertandingan di "Orang", baris itu akan terdaftar juga.

 

SQL INNER JOIN Kata Kunci

Kata kunci INNER JOIN mengembalikan baris ketika ada setidaknya satu pertandingan di kedua tabel.

SQL INNER JOIN Sintaks

SELECT column_name(s)
FROM table_name1
INNER JOIN table_name2
ON table_name1.column_name=table_name2.column_name

PS: INNER JOIN sama dengan JOIN.


SQL INNER JOIN Contoh

The "Orang" tabel:

SQL JOIN

01 December 2012 09:28:03 Dibaca : 374

Bagian II

SQL KIRI BERGABUNG Kata Kunci

Kata kunci BERGABUNG KIRI mengembalikan semua baris dari tabel kiri (table_name1), bahkan jika tidak ada pertandingan di tabel kanan (table_name2).

SQL KIRI BERGABUNG Sintaks

SELECT column_name(s)
FROM table_name1
LEFT JOIN table_name2
ON table_name1.column_name=table_name2.column_name

PS: Dalam beberapa database KIRI BERGABUNG disebut KIRI Outer JOIN.


SQL KIRI BERGABUNG Contoh

The "Orang" tabel:

P_Id

LastName

FirstName

Alamat

Kota

1

Hansen

Ola

Timoteivn 10

Sandnes

2

Svendson

Tove

Borgvn 23

Sandnes

3

Pettersen

Kari

Storgt 20

Stavanger

P_Id

LastName

FirstName

Alamat

Kota

1

Hansen

Ola

Timoteivn 10

Sandnes

2

Svendson

Tove

Borgvn 23

Sandnes

3

Pettersen

Kari

Storgt 20

Stavanger

The "Perintah" tabel:

O_Id

OrderNo

P_Id

1

77895

3

2

44678

3

3

22456

1

4

24562

1

5

34764

15

Sekarang kita ingin daftar semua orang dan pesanan mereka - jika ada, dari tabel di atas.

Kami menggunakan pernyataan SELECT berikut:

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
LEFT JOIN Orders
ON Persons.P_Id=Orders.P_Id
ORDER BY Persons.LastName

Hasil-set akan terlihat seperti ini:

LastName

FirstName

OrderNo

Hansen

Ola

22456

Hansen

Ola

24562

Pettersen

Kari

77895

Pettersen

Kari

44678

Svendson

Tove

 

Kata kunci BERGABUNG KIRI mengembalikan semua baris dari tabel kiri (Orang), bahkan jika tidak ada pertandingan di tabel kanan (Pesanan).

 

SQL RIGHT JOIN Kata Kunci

Kata kunci BERGABUNG KANAN mengembalikan semua baris dari tabel kanan (table_name2), bahkan jika tidak ada pertandingan di tabel kiri (table_name1).

SQL RIGHT JOIN Sintaks

SELECT column_name(s)
FROM table_name1
RIGHT JOIN table_name2
ON table_name1.column_name=table_name2.column_name

PS: Dalam beberapa database RIGHT JOIN disebut KANAN Outer JOIN.


SQL RIGHT JOIN Contoh

The "Orang" tabel:

P_Id

LastName

FirstName

Alamat

Kota

1

Hansen

Ola

Timoteivn 10

Sandnes

2

Svendson

Tove

Borgvn 23

Sandnes

3

Pettersen

Kari

Storgt 20

Stavanger

The "Perintah" tabel:

O_Id

OrderNo

P_Id

1

77895

3

2

44678

3

3

22456

1

4

24562

1

5

34764

15

Sekarang kita ingin daftar semua perintah dengan orang-orang yang mengandung - jika ada, dari tabel di atas.

Kami menggunakan pernyataan SELECT berikut:

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
RIGHT JOIN Orders
ON Persons.P_Id=Orders.P_Id
ORDER BY Persons.LastName

Hasil-set akan terlihat seperti ini:

LastName

FirstName

OrderNo

Hansen

Ola

22456

Hansen

Ola

24562

Pettersen

Kari

77895

Pettersen

Kari

44678

 

 

34764

Kata kunci BERGABUNG KANAN mengembalikan semua baris dari tabel kanan (Pesanan), bahkan jika tidak ada pertandingan di tabel kiri (Orang).


(www.w3schools.com/sql)