Tutorial ini adalah bagian dari seri Belajar Query SQL Dasar Menggunakan MySQL. Pada tutorial sebelumnya, kita telah membahas query SQL untuk mengambil baris atau membaca data dari tabel di MySQL. Perintah SELECT mengembalikan semua baris dalam tabel kecuali kita menentukan batas seperti yang ditunjukkan pada contoh tutorial sebelumnya. Dalam beberapa situasi, kita perlu memfilter baris yang dihasilkan untuk mendapatkan baris terbatas yang memenuhi kondisi tertentu. Kita dapat memfilter baris menggunakan klausa WHERE dengan menentukan kondisi filter. Kami juga dapat menentukan beberapa kondisi menggunakan kata kunci AND, OR.
Di Mana Klausa
DI MANA klausa dapat digunakan untuk membaca baris yang difilter dari tabel berdasarkan kondisi yang diberikan. Jika Anda login dari jarak jauh ke database, Anda juga memerlukan hak istimewa SELECT untuk tabel agar dapat membaca baris dari tabel.
# SELECT - Syntax - WHERE
SELECT column_1,column_2,... FROM table_name WHERE <single or multiple conditions>;
Penjelasan Kueri
Perintah MySQL PILIH dapat digunakan untuk membaca baris atau data dari nama tabel yang diberikan di mana ekspresi pilih dan nama tabel adalah wajib.
Kami dapat memfilter kumpulan kueri yang dihasilkan yang dikembalikan oleh kueri pemilihan menggunakan klausa WHERE. Kami dapat menentukan kondisi tunggal atau ganda untuk memfilter hasil. Kata kunci DAN dan ATAU dapat digunakan untuk menerapkan beberapa kondisi. Kami juga dapat menggunakan kata kunci IN dan TIDAK DI untuk membatasi nilai kolom menjadi sekumpulan nilai.
Operator
Kita dapat menggunakan operator yang tercantum di bawah ini untuk melakukan perbandingan sambil menerapkan kondisi filter. Perbandingan akan dilakukan dengan menggunakan nilai yang diberikan dan nilai yang disimpan di kolom tabel.
= Ini dapat digunakan untuk memeriksa apakah nilai kedua operan sama atau tidak.
!= Ini memeriksa apakah nilai dari dua operan tidak sama.
> Ini memeriksa apakah nilai operan kiri lebih besar dari nilai operan kanan.
Ini memeriksa apakah nilai operan kiri kurang dari nilai operan kanan.
>= Ini memeriksa apakah nilai operan kiri lebih besar dari atau sama dengan nilai operan kanan.
<= Ini memeriksa apakah nilai operan kiri kurang dari atau sama dengan nilai operan kanan.
Contoh
Bagian ini memberikan contoh untuk membaca data yang difilter dari tabel menggunakan PILIH perintah dengan WHERE ayat. Gunakan kueri yang disebutkan di bawah ini untuk membuat tabel pengguna yang memiliki kolom id, nama depan, dan nama belakang untuk menyimpan data pengguna.
# Create the User Table
CREATE TABLE `user` (
`user_id` bigint(20) NOT NULL,
`first_name` varchar(45),
`last_name` varchar(45)
);
Kueri yang disebutkan di bawah ini dapat digunakan untuk memasukkan data ke dalam tabel pengguna.
# Insert Rows - All Columns
INSERT INTO `user` ( `user_id`, `first_name`, `last_name`) VALUES
( 1, 'John', 'Smith' ),
( 2, 'Rick', 'Jones' ),
( 3, 'Catherine', 'Ponting' ),
( 4, 'Harsh', 'Upadhyay' ),
( 5, 'Tajwinder', 'Singh' ),
( 6, 'Leo', NULL ),
( 7, 'Leo', 'Murphy' ),
( 8, 'Ram', 'Choudhary' ),
( 9, 'Nicole', NULL ),
( 10, 'Ram', 'Choudhary' );
Kueri yang disebutkan di atas akan menyisipkan 10 baris dalam tabel yang memiliki id, nama depan, dan nama belakang untuk mewakili 10 pengguna yang berbeda.
Sekarang kita akan membaca data yang disaring yang dimasukkan oleh kita di tabel pengguna. Itu dapat dilakukan dengan menggunakan perintah SELECT seperti yang ditunjukkan di bawah ini.
# Filter - WHERE - Read all rows having first name set to Leo
SELECT * FROM `user` WHERE `first_name` = 'Leo';
# Result
6 Leo
7 Leo Murphy
# Filter - WHERE - AND - Read all rows having first name set to Leo and last name set to Murphy
SELECT * FROM `user` WHERE `first_name` = 'Leo' AND `last_name` = 'Murphy';
# Result
7 Leo Murphy
# Filter - WHERE - IS NOT - Read all rows having last name without NULL values
SELECT * FROM `user` WHERE `last_name` IS NOT NULL;
# Result
1 John Smith
2 Rick Jones
3 Catherine Ponting
4 Harsh Upadhyay
5 Tajwinder Singh
7 Leo Murphy
8 Ram Choudhary
10 Ram Choudhary
# Filter - WHERE - OR, IN - Read all rows having first name is either John or Harsh
SELECT * FROM `user` WHERE `first_name` = 'John' OR `first_name` = 'Harsh';
SELECT * FROM `user` WHERE `first_name` IN ( 'John', 'Harsh' );
# Result
1 John Smith
4 Harsh Upadhyay
Kueri yang disebutkan di atas melakukan berbagai operasi filter pada string nilai menggunakan kondisi tunggal atau ganda. Pastikan untuk menggunakan tanda kutip tunggal saat menerapkan filter untuk kolom yang memiliki tipe data string.
# Filter - WHERE - Read all rows having id lesser than 5
SELECT * FROM `user` WHERE `user_id` < 5;
# Result
1 John Smith
2 Rick Jones
3 Catherine Ponting
4 Harsh Upadhyay
# Filter - WHERE - LIMIT - Read all rows having id lesser than 5
SELECT * FROM `user` WHERE `user_id` < 5 LIMIT 2;
# Result
1 John Smith
2 Rick Jones
# Filter - WHERE - AND - Read all rows having id greater than 3 and lesser than 6
SELECT * FROM `user` WHERE `user_id` > 3 AND `user_id` < 6;
# Result
4 Harsh Upadhyay
5 Tajwinder Singh
Kueri yang disebutkan di atas menerapkan ketentuan untuk tipe data numerik. Kami juga dapat mencampur berbagai jenis nilai seperti yang ditunjukkan di bawah ini.
# Filter - WHERE - AND - Read all rows having first name set to Harsh, id greater than 2 and lesser than 5
SELECT * FROM `user` WHERE `first_name` = 'Harsh' AND `user_id` > 3 AND `user_id` < 6;
# Result
4 Harsh Upadhyay
Ini adalah bagaimana kita dapat membaca data yang difilter yang disimpan dalam tabel MySQL menggunakan klausa WHERE.