SQLite
 sql >> Teknologi Basis Data >  >> RDS >> SQLite

Gabung Kiri SQLite

Ringkasan :dalam tutorial ini, Anda akan mempelajari cara menggunakan SQLite LEFT JOIN klausa untuk meminta data dari beberapa tabel.

Pengantar SQLite LEFT JOIN klausa

Mirip dengan INNER JOIN klausa, LEFT JOIN klausa adalah klausa opsional dari SELECT penyataan. Anda menggunakan LEFT JOIN klausa untuk menanyakan data dari beberapa tabel terkait.

Misalkan kita memiliki dua tabel:A dan B.

  • A memiliki m dan f kolom.
  • B memiliki n dan f kolom.

Untuk melakukan join antara A dan B menggunakan LEFT JOIN klausa, Anda menggunakan pernyataan berikut:

SELECT
	a,
	b
FROM
	A
LEFT JOIN B ON A.f = B.f
WHERE search_condition;Code language: SQL (Structured Query Language) (sql)

Ekspresi A.f = B.f adalah ekspresi kondisional. Selain operator persamaan (=), Anda dapat menggunakan operator perbandingan lain seperti lebih besar dari (>), lebih kecil dari (<), dll.

Pernyataan mengembalikan kumpulan hasil yang mencakup:

  1. Baris pada tabel A (tabel kiri) yang memiliki baris yang sesuai pada tabel B.
  2. Baris pada tabel A dan baris pada tabel B diisi dengan NULL nilai jika baris dari tabel A tidak memiliki baris yang sesuai di tabel B.

Dengan kata lain, semua baris dalam tabel A termasuk dalam kumpulan hasil apakah ada baris yang cocok di tabel B atau tidak.

Jika Anda memiliki WHERE klausa dalam pernyataan, search_condition di WHERE klausa diterapkan setelah pencocokan LEFT JOIN klausa selesai.

Lihat ilustrasi berikut dari LEFT JOIN klausa antara tabel A dan B.

Semua baris dalam tabel A disertakan dalam kumpulan hasil.

Karena baris kedua (a2,2) tidak memiliki baris yang sesuai dalam tabel B, LEFT JOIN klausa membuat baris palsu diisi dengan NULL .

Diagram Venn berikut menggambarkan LEFT JOIN klausa.

Perlu dicatat bahwa LEFT OUTER JOIN sama dengan LEFT JOIN .

SQLite LEFT JOIN contoh

Kami akan menggunakan artists dan albums tabel dalam database sampel untuk demonstrasi.

Satu album milik satu artis. Namun, satu artis mungkin tidak memiliki album atau lebih.

Untuk menemukan artis yang tidak memiliki album dengan menggunakan LEFT JOIN klausa, kami memilih artis dan album yang sesuai. Jika artis tidak memiliki album, nilai AlbumId kolomnya adalah NULL.

Untuk menampilkan artis yang tidak memiliki album terlebih dahulu, kita memiliki dua pilihan:

  • Pertama, gunakan ORDER BY klausa untuk mencantumkan baris yang AlbumId adalah NULL nilai terlebih dahulu.
  • Kedua, gunakan WHERE klausa dan IS NULL operator untuk hanya mencantumkan artis yang tidak memiliki album.

Pernyataan berikut menggunakan LEFT JOIN klausa dengan ORDER BY klausa.

SELECT
   artists.ArtistId, 
   AlbumId
FROM
   artists
LEFT JOIN albums ON
   albums.ArtistId = artists.ArtistId
ORDER BY
   AlbumId;Code language: SQL (Structured Query Language) (sql)

Cobalah

Pernyataan berikut menggunakan LEFT JOIN klausa dengan WHERE klausa.

SELECT
   artists.ArtistId
   , AlbumId
FROM
   artists
LEFT JOIN albums ON
   albums.ArtistId = artists.ArtistId
WHERE
   AlbumId IS NULL;Code language: SQL (Structured Query Language) (sql)

Cobalah

Dalam tutorial ini, Anda telah mempelajari cara menggunakan SQLite LEFT JOIN klausa untuk meminta data dari beberapa tabel.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mengisi ListView dengan db di folder aset?

  2. Persatuan SQLite

  3. Perbarui data Aktivitas dari layanan saat dijeda

  4. Tabel Perubahan Migrasi Kamar tidak menambahkan kolom baru &bermigrasi dipanggil lagi dan lagi

  5. Android Mendorong Pembaruan di Play Store