Ringkasan :dalam tutorial ini, Anda akan belajar bagaimana menggunakan SQLite SELECT DISTINCT klausa untuk menghapus baris duplikat di kumpulan hasil.
Pengantar SQLite SELECT DISTINCT klausa
DISTINCT klausa adalah klausa opsional dari SELECT penyataan. DISTINCT klausa memungkinkan Anda untuk menghapus baris duplikat di kumpulan hasil.
Pernyataan berikut mengilustrasikan sintaks DISTINCT klausa:
SELECT DISTINCT select_list
FROM table;Code language: SQL (Structured Query Language) (sql) Dalam sintaks ini:
- Pertama,
DISTINCTklausa harus muncul segera setelahSELECTkata kunci. - Kedua, Anda menempatkan kolom atau daftar kolom setelah
DISTINCTkata kunci. Jika Anda menggunakan satu kolom, SQLite menggunakan nilai di kolom tersebut untuk mengevaluasi duplikat. Jika Anda menggunakan beberapa kolom, SQLite menggunakan kombinasi nilai dalam kolom ini untuk mengevaluasi duplikat.
SQLite menganggap NULL nilai sebagai duplikat. Jika Anda menggunakanDISTINCT klausa dengan kolom yang memiliki NULL nilai, SQLite akan menyimpan satu baris NULL nilai.
Dalam teori basis data, jika kolom berisi NULL nilai, artinya kami tidak memiliki informasi tentang kolom catatan tertentu atau informasi tersebut tidak berlaku.
Misalnya, jika pelanggan memiliki nomor telepon dengan NULL value, artinya kami tidak memiliki informasi tentang nomor telepon pelanggan pada saat merekam informasi pelanggan atau pelanggan mungkin tidak memiliki nomor telepon sama sekali.
SQLite SELECT DISTINCT contoh
Kami akan menggunakan customers tabel dalam database sampel untuk demonstrasi.
Misalkan Anda ingin mengetahui kota tempat pelanggan berada, Anda dapat menggunakan SELECT pernyataan untuk mendapatkan data dari city kolom customers tabel sebagai berikut:
SELECT city
FROM customers
ORDER BY city;Code language: SQL (Structured Query Language) (sql) Cobalah
Ini mengembalikan 59 baris. Ada beberapa baris duplikat seperti Berlin London , dan Mountain View Untuk menghapus baris duplikat ini, gunakan DISTINCT klausa sebagai berikut:
SELECT DISTINCT city
FROM customers
ORDER BY city;Code language: SQL (Structured Query Language) (sql) Cobalah
Ini mengembalikan 53 baris karena DISTINCT klausa telah menghapus 6 baris duplikat.
SQLite SELECT DISTINCT pada beberapa kolom
Pernyataan berikut menemukan kota dan negara semua pelanggan.
SELECT
city,
country
FROM
customers
ORDER BY
country;Code language: SQL (Structured Query Language) (sql) Cobalah
Kumpulan hasil berisi kota dan negara duplikat, mis., Sao Paulo di Brasil seperti yang ditunjukkan pada tangkapan layar di atas.
Untuk menghapus duplikat kota dan negara, Anda menerapkan DISTINCT klausa ke kolom kota dan negara seperti yang ditunjukkan dalam kueri berikut:
SELECT DISTINCT
city,
country
FROM
customers
ORDER BY
country;Code language: SQL (Structured Query Language) (sql) Berikut adalah sebagian outputnya:
Seperti disebutkan sebelumnya, SQLite menggunakan kombinasi kota dan negara untuk mengevaluasi duplikatnya.
SQLite SELECT DISTINCT dengan NULL contoh
Pernyataan ini mengembalikan nama perusahaan pelanggan dari customers tabel.
SELECT company
FROM customers;Code language: SQL (Structured Query Language) (sql) Cobalah
Ini mengembalikan 59 baris dengan banyak NULL nilai.
Sekarang, jika Anda menerapkan DISTINCT klausa ke pernyataan, itu hanya akan menyimpan satu baris dengan NULL nilai.
Lihat pernyataan berikut:
SELECT DISTINCT company
FROM customers;Code language: SQL (Structured Query Language) (sql) Cobalah
Pernyataan mengembalikan 11 baris dengan satu NULL nilai.
Perhatikan bahwa jika Anda memilih daftar kolom dari tabel dan ingin mendapatkan kombinasi unik dari beberapa kolom, Anda dapat menggunakan GROUP BY klausa.
Dalam tutorial ini, Anda telah mempelajari cara menghapus baris duplikat dari kumpulan hasil menggunakan SQLite SELECT DISTINCT klausa.