SQLite - JOINS: Menungkap Keterampilan Menggabungkan Tabel

Halo sana, para maestro basis data masa depan! Hari ini, kita akan melihat salah satu aspek yang paling menarik (dan kadang-kadang menakutkan) dalam SQLite: JOINS. Jangan khawatir jika Anda masih baru; pada akhir panduan ini, Anda akan bisa menggabungkan tabel seperti seorang ahli!

SQLite - JOINS

Pengenalan ke JOINS

Sebelum kita melompat ke lubuknya, mari bicarakan mengapa kita memerlukan JOINS. Bayangkan Anda mengatur pesta ulang tahun besar-besaran (siapa yang tidak menyukai pesta yang bagus, kan?). Anda memiliki satu daftar dengan nama tamu dan lainnya dengan rasa kue kesukaan mereka. Apakah tidak akan menyenangkan jika Anda bisa menggabungkan daftar ini untuk memastikan bahwa setiap orang mendapatkan kue kesukaannya? Itu tepat apa yang JOINS lakukan dalam basis data – mereka membantu kita menggabungkan informasi dari tabel yang berbeda dalam cara yang bermakna.

Sekarang, mari kita jelajahi tiga jenis utama JOINS dalam SQLite:

  1. CROSS JOIN
  2. INNER JOIN
  3. OUTER JOIN

The CROSS JOIN: The Party Mixer

Apa Itu CROSS JOIN?

CROSS JOIN seperti mengundang semua orang untuk bergaul dengan semua orang lain di pesta Anda. Itu menggabungkan setiap baris dari satu tabel dengan setiap baris dari tabel lain. Itu seperti mengatakan, "Hey, semua orang, temui semua orang lain!"

Syntax CROSS JOIN

SELECT * FROM table1 CROSS JOIN table2;

Contoh CROSS JOIN

mari buat dua tabel sederhana untuk rencana pesta kami:

CREATE TABLE guests (
guest_id INTEGER PRIMARY KEY,
guest_name TEXT
);

CREATE TABLE cakes (
cake_id INTEGER PRIMARY KEY,
cake_flavor TEXT
);

INSERT INTO guests (guest_name) VALUES ('Alice'), ('Bob'), ('Charlie');
INSERT INTO cakes (cake_flavor) VALUES ('Chocolate'), ('Vanilla'), ('Strawberry');

Sekarang, mari gunakan CROSS JOIN:

SELECT guests.guest_name, cakes.cake_flavor
FROM guests CROSS JOIN cakes;

Kueri ini akan menghasilkan:

guest_name cake_flavor
Alice Chocolate
Alice Vanilla
Alice Strawberry
Bob Chocolate
Bob Vanilla
Bob Strawberry
Charlie Chocolate
Charlie Vanilla
Charlie Strawberry

Seperti yang Anda lihat, setiap tamu digabungkan dengan setiap rasa kue. Itu seperti memberikan semua orang rasa semua kue!

Kapan Menggunakan CROSS JOIN

CROSS JOIN jarang digunakan dalam konteks nyata karena mereka dapat menghasilkan hasil yang sangat besar. Namun, mereka sangat cocok untuk menghasilkan kombinasi atau membuat data uji.

The INNER JOIN: The Perfect Match

Apa Itu INNER JOIN?

INNER JOIN seperti mencocokkan pasangan tari yang keduanya tahu tari yang sama. Itu menggabungkan baris dari dua tabel berdasarkan kolom yang terkait antaranya.

Syntax INNER JOIN

SELECT * FROM table1 INNER JOIN table2 ON table1.column = table2.column;

Contoh INNER JOIN

mari modifikasi skenario rencana pesta kami. Sekarang kita memiliki tamu dan preferensi kue mereka:

CREATE TABLE guests (
guest_id INTEGER PRIMARY KEY,
guest_name TEXT,
preferred_cake_id INTEGER
);

CREATE TABLE cakes (
cake_id INTEGER PRIMARY KEY,
cake_flavor TEXT
);

INSERT INTO guests (guest_name, preferred_cake_id) VALUES
('Alice', 1), ('Bob', 2), ('Charlie', 3), ('David', 1);
INSERT INTO cakes (cake_flavor) VALUES
('Chocolate'), ('Vanilla'), ('Strawberry');

Sekarang, mari gunakan INNER JOIN untuk mencocokkan tamu dengan kue kesukaan mereka:

SELECT guests.guest_name, cakes.cake_flavor
FROM guests INNER JOIN cakes ON guests.preferred_cake_id = cakes.cake_id;

Kueri ini akan menghasilkan:

guest_name cake_flavor
Alice Chocolate
Bob Vanilla
Charlie Strawberry
David Chocolate

Perfect! Setiap tamu dicocokkan dengan rasa kue kesukaannya.

Kapan Menggunakan INNER JOIN

INNER JOIN adalah jenis JOIN yang paling umum. Gunakan mereka saat Anda ingin mengambil data yang memiliki nilai yang cocok di kedua tabel.

The OUTER JOIN: Leaving No One Behind

Apa Itu OUTER JOIN?

OUTER JOIN seperti memastikan bahwa tidak ada orang yang merasa terpinggirkan di pesta. Itu mengembalikan semua baris dari satu atau kedua tabel, bahkan jika tidak ada kesamaan di tabel lain.

Ada tiga jenis OUTER JOIN:

  1. LEFT OUTER JOIN
  2. RIGHT OUTER JOIN (tidak didukung dalam SQLite)
  3. FULL OUTER JOIN (tidak didukung secara langsung dalam SQLite)

Kita akan fokus pada LEFT OUTER JOIN, karena ini yang paling banyak digunakan dalam SQLite.

Syntax LEFT OUTER JOIN

SELECT * FROM table1 LEFT OUTER JOIN table2 ON table1.column = table2.column;

Contoh LEFT OUTER JOIN

mari tambahkan tamu yang tidak memiliki preferensi kue:

INSERT INTO guests (guest_name, preferred_cake_id) VALUES ('Eve', NULL);

Sekarang, mari gunakan LEFT OUTER JOIN:

SELECT guests.guest_name, cakes.cake_flavor
FROM guests LEFT OUTER JOIN cakes ON guests.preferred_cake_id = cakes.cake_id;

Kueri ini akan menghasilkan:

guest_name cake_flavor
Alice Chocolate
Bob Vanilla
Charlie Strawberry
David Chocolate
Eve NULL

Lihat bagaimana Eve dimasukkan dalam hasil, meskipun dia tidak memiliki preferensi kue? Itu keajaiban LEFT OUTER JOIN!

Kapan Menggunakan OUTER JOIN

Gunakan OUTER JOIN saat Anda ingin mencakup semua rekord dari satu tabel, terlepas dari apakah mereka memiliki rekord yang cocok di tabel lain.

Conclusion

Dan begitulah, teman-teman! Anda baru saja mengambil langkah pertama ke dalam dunia yang menakjubkan dari SQLite JOINS. Ingat, latihan membuat sempurna, jadi jangan takut untuk mencoba kueri ini.

Berikut adalah tabel referensi singkat dari JOIN yang kita pelajari:

JOIN Type Use Case
CROSS JOIN Gabungkan setiap baris dengan setiap baris lainnya
INNER JOIN Cocokkan baris berdasarkan suatu kondisi
LEFT JOIN Sertakan semua baris dari tabel kiri, cocokkan jika mungkin

Tetap menggabungkan tabel, dan segera Anda akan menjadi pemandu pesta basis data! Selamat mencari!

Credits: Image by storyset