Gabungkan Dua Jadual dalam SQL

Gabungkan Dua Jadual Dalam Sql



Dalam SQL, penggabungan jadual merujuk kepada proses menggabungkan data daripada dua jadual berasingan dalam pangkalan data yang diberikan kepada satu unit berdasarkan lajur atau kriteria yang sama. Ya, jika ia berbunyi seperti meja, itulah sebenarnya.

Gabungan jadual atau cantuman jadual ialah ciri terkenal pangkalan data hubungan, dan ia sangat berkuasa. Ia membolehkan kami menyatukan maklumat daripada pelbagai sumber untuk mencipta cerapan data yang lebih koheren dan bermakna. Ia juga membolehkan pangkalan data hubungan menjadi sangat berskala (tidak fleksibel) kerana kita boleh memecahkan data kepada ketulan yang lebih kecil dan boleh diurus yang boleh kita rujuk kemudian.

Dalam tutorial ini, kami akan membincangkan asas cantuman jadual atau cantuman jadual. Mari lihat contoh jadual dunia sebenar untuk mengukuhkan pengetahuan kita.







Contoh Jadual

Sebelum kita pergi ke dunia gabungan jadual, mari kita sediakan jadual asas yang akan kita gunakan untuk tujuan demonstrasi.



Pertimbangkan dua jadual yang mengandungi maklumat pekerja dan gaji seperti yang ditunjukkan dalam contoh pertanyaan berikut:



CIPTA MEJA pekerja (

id_pekerja INT AUTO_INCREMENT KUNCI UTAMA,

nama_pertama VARCHAR( lima puluh ),

nama akhir VARCHAR( lima puluh ),

jabatan VARCHAR( lima puluh )

);

Kami kemudiannya boleh memasukkan data sampel ke dalam jadual pekerja seperti yang ditunjukkan dalam pertanyaan berikut:





INSERT INTO pekerja (first_name, last_name, department) NILAI

( 'Alice' , 'Smith' , 'Sumber Manusia' ),

( 'Bob' , 'Johnson' , 'Pemasaran' ),

( 'Charlie' , 'Wilson' , 'Kewangan' ),

( 'David' , 'Brown' , 'Jualan' ),

( 'Eva' , 'Davis' , 'Kejuruteraan' );

Mari kita teruskan dan buat jadual baharu untuk menyimpan maklumat gaji seperti berikut:

CIPTA MEJA gaji (

salary_id INT AUTO_INNCREMENT KUNCI UTAMA,

id_pekerja INT,

gaji PERPULUHAN( 10 , 2 ),

tarikh_mula DATE,

tarikh_akhir DATE,

KUNCI ASING (id_pekerja) RUJUKAN pekerja(id_pekerja)

);

Tambahkan data sampel sisip ke dalam jadual seperti berikut:



MASUKKAN KE DALAM gaji (id_pekerja, gaji, tarikh_mula, tarikh_akhir) NILAI
( 1 , 60000.00 , '2023-01-01' , '2023-12-31' ),
( 2 , 55000.00 , '2023-01-01' , '2023-12-31' ),
( 3 , 65000.00 , '2023-01-01' , '2023-12-31' ),
( 4 , 58000.00 , '2023-01-01' , '2023-12-31' ),
( 5 , 70000.00 , '2023-01-01' , '2023-12-31' );

Ini sepatutnya memberikan kita dua jadual yang boleh membantu kita untuk menunjukkan konsep cantuman/cantuman jadual dalam SQL.

Gabungan Jadual/Jadual SQL

Mari kita terokai pelbagai jenis cantuman jadual yang boleh kita lakukan. Kami akan merangkumi yang asas semasa kami maju ke yang lebih maju.

SERTAI DALAM

Jenis gabungan jadual pertama dan paling biasa dalam SQL ialah JOIN DALAM. JOIN DALAM membolehkan kami menggabungkan baris daripada dua jadual berdasarkan keadaan tertentu. Jenis ini kemudian hanya mengembalikan baris yang terdapat padanan antara jadual.

Mari kita ambil jadual 'pekerja' dan 'gaji' yang kami buat sebelum ini sebagai contoh. Untuk melaksanakan INNER JOIN dalam SQL, kami menggunakan klausa INNER JOIN seperti berikut:

PILIH

e.id_pekerja,

e.nama_pertama,

e.last_name,

e.jabatan,

s.gaji

DARI

pekerja e

gaji JOIN DALAM s HIDUP

e.id_pekerja = s.id_pekerja;

Dalam contoh pertanyaan yang diberikan, kami menggunakan INNER JOIN untuk menggabungkan jadual 'pekerja' dan 'gaji' pada lajur 'id_pekerja' yang wujud dalam kedua-dua jadual. Set yang terhasil hanya mengandungi baris yang sepadan daripada kedua-dua jadual.

Contoh output adalah seperti berikut:

KIRI LUAR SERTAI

Kami juga mempunyai LEFT OUTER JOIN yang menggabungkan semua baris dari jadual kiri dan baris yang sepadan dari jadual kanan. Jika tiada padanan dalam jadual yang betul, gabungan menggunakan nilai NULL.

PILIH

e.id_pekerja,

e.nama_pertama,

e.last_name,

e.jabatan,

s.gaji

DARI

pekerja e

KIRI SERTAI gaji s

HIDUP

e.id_pekerja = s.id_pekerja;

Dalam contoh ini, kami melakukan LEFT OUTER JOIN untuk menggabungkan jadual 'pekerja' dan 'gaji'. Semua baris daripada jadual 'pekerja' disertakan dan baris yang sepadan daripada jadual 'gaji' ditambah. Walau bagaimanapun, nilai NULL disertakan dalam lajur 'gaji' untuk baris yang tidak sepadan.

SQL UNION

Kaedah lain untuk menyertai jadual dalam SQL menggunakan operator UNION. Operator ini membenarkan kami menggabungkan hasil dua atau lebih penyata pilihan ke dalam set hasil tunggal.

Lajur dalam setiap penyata SELECT mesti mempunyai jenis data yang sama agar kesatuan boleh digunakan.

Contohnya adalah seperti berikut:

PILIH id_pekerja , nama_pertama , nama_keluarga , jabatan , NULL AS gaji

DARIPADA pekerja e

KESATUAN

PILIH id_pekerja , NULL AS first_name , NULL AS last_name , NULL AS jabatan , gaji

DARI gaji s ;

Dalam kes ini, KESATUAN menggabungkan jadual 'pekerja' dan 'gaji'. Kami kemudian mencipta lajur NULL dalam setiap pernyataan SELECT untuk memastikan kedua-dua jadual mempunyai bilangan lajur yang sama.

KESATUAN secara teknikalnya biasa tetapi ia boleh berguna terutamanya apabila anda perlu menggabungkan jadual dengan struktur yang berbeza.

Kesimpulan

Dalam tutorial ini, kami meneroka asas-asas menyertai/mencantumkan dua jadual ke dalam set hasil tunggal. Adalah baik untuk diingat bahawa terdapat lebih banyak penyertaan lanjutan yang dibincangkan dalam siaran ini.