pernyataan GABUNG

All lectures for ID purposes
Level 1 , Pelajaran 784
Tersedia

Prasyarat munculnya operator JOIN

Seiring bertambahnya jumlah data dalam tabel, nilai duplikat sering muncul di dalamnya. Misalnya, tabel produk memiliki nama merek. yang terkadang berulang. Akan bermanfaat untuk memiliki tabel merek terpisah untuk mereka, yang berisi, misalnya, data seperti itu:

  • id - id merek;
  • nama – nama merek;
  • pemilik_perusahaan - nama perusahaan pemilik merek;
  • company_contacts - kontak perusahaan pemilik merek.

Kemudian kami ingin membuat tabel alamat di mana kami dapat memasukkan semua alamat:

  • id – id-alamat;
  • negara;
  • wilayah;
  • kota;
  • jalan;
  • rumah;
  • ritsleting.

Selain itu, dalam tabel ini dimungkinkan untuk menyimpan alamat tidak hanya perusahaan pemilik merek, tetapi juga alamat pelanggan dan karyawan. Dan pendekatan ini hanyalah konsekuensi dari pertumbuhan jumlah data (jumlah baris dalam tabel). Ini membuatnya lebih mudah untuk memanipulasi data dalam tabel dan menjaga integritasnya.

Jika Anda memiliki 5 karyawan, Anda cukup memasukkan pekerjaan mereka di kolom pekerjaan . Jika Anda memiliki 5 ribu karyawan di perusahaan Anda, maka Anda memerlukan tabel dengan daftar x profesi dan tanggung jawabnya.

Omong-omong, dalam bahasa Jawa ada yang serupa. Jika Anda memiliki banyak kode dalam suatu metode, maka ada keinginan untuk memecahnya menjadi beberapa metode. Jika ada banyak metode dalam satu kelas, maka saya ingin membaginya menjadi beberapa kelas.

Itu sebabnya database besar memiliki ribuan tabel. Dan hampir semua query dieksekusi pada beberapa tabel sekaligus. Dan produk Cartesian dari baris tiga tabel yang masing-masing memiliki seribu catatan sudah menjadi satu miliar baris.

Tapi hanya memfilter satu miliar baris menggunakan WHERE bisa memakan waktu berjam-jam. Oleh karena itu, pembuat bahasa SQL menawarkan solusi mereka - operator GABUNG.

Pengantar operator GABUNG

Operator GABUNG digunakan untuk secara eksplisit memberi tahu server SQL bahwa kita tidak memerlukan produk Cartesian dari semua baris tabel untuk semua, tetapi perekatan yang cerdas dari baris tabel yang berbeda yang merujuk satu sama lain menggunakan ID (atau dengan cara lain) . Server memiliki algoritme terpisah untuk memproses gabungan tabel menggunakan operator GABUNG, yang memungkinkan operasi semacam itu dilakukan lebih cepat. Bentuk umum operator JOIN adalah sebagai berikut:

table 1 JOIN table 2 ON condition

Dikatakan di sini bahwa Anda perlu menggabungkan tabel table1 dan table2 menjadi satu tabel, dan menggunakan kondisi sebagai kriteria gabungan .

Mari kita ambil contoh lama kita:

SELECT * FROM employee, task WHERE emploee.id = task.emploee_id

Dan tulis ulang menggunakan operator GABUNG:

SELECT * FROM employee JOIN task ON emploee.id = task.emploee_id

Kedua kueri akan memberikan hasil yang sama dalam kasus kita, tetapi ini hanya karena kuerinya sangat sederhana. Di masa mendatang, WHERE memungkinkan Anda membuat filter baris dengan tepat, dan yang ditentukan setelah ON memungkinkan Anda menulis skrip kompleks untuk menautkan tabel. Anda juga dapat menggunakan alias (alias tabel) saat menggunakan pernyataan GABUNG. Contoh:

SELECT * FROM employee e JOIN task t ON e.id = t.emploee_id
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION