Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Di mana Klausa Untuk Memfilter Baris di MySQL

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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menu pohon build PHP / MySQL

  2. kode php untuk menguji pdo tersedia?

  3. Hapus baris sql di mana ID tidak memiliki kecocokan dari tabel lain

  4. JSON_OBJECTAGG() – Buat Objek JSON dari Hasil Kueri di MySQL

  5. Cara Mengedit File MySQL my.cnf