Database
 sql >> Teknologi Basis Data >  >> RDS >> Database

SQL Kurang Dari () Operator untuk Pemula

Dalam SQL, operator kurang dari (< ) membandingkan dua ekspresi dan mengembalikan TRUE jika operan kiri memiliki nilai lebih rendah dari operan kanan; jika tidak, hasilnya adalah FALSE .

Contoh

Berikut ini contoh untuk didemonstrasikan.

SELECT * FROM city 
WHERE Population < 600;

Hasil:

+------+--------------------+---------------+-------------+--------------+
| ID   | Name               | CountryCode   | District    | Population   |
|------+--------------------+---------------+-------------+--------------|
| 62   | The Valley         | AIA           | –           | 595          |
| 2316 | Bantam             | CCK           | Home Island | 503          |
| 2317 | West Island        | CCK           | West Island | 167          |
| 2728 | Yaren              | NRU           | –           | 559          |
| 2912 | Adamstown          | PCN           | –           | 42           |
| 3333 | Fakaofo            | TKL           | Fakaofo     | 300          |
| 3538 | Città del Vaticano | VAT           | –           | 455          |
+------+--------------------+---------------+-------------+--------------+

Kueri ini mengembalikan semua kota yang memiliki populasi kurang dari 600.

Eksklusif

Operator kurang dari tidak menyertakan nilai yang ditentukan dalam evaluasinya.

Misalnya, contoh berikut tidak mengembalikan Fakaofo, yang memiliki populasi 300:

SELECT * FROM city 
WHERE Population < 300;

Hasil:

+------+-------------+---------------+-------------+--------------+
| ID   | Name        | CountryCode   | District    | Population   |
|------+-------------+---------------+-------------+--------------|
| 2317 | West Island | CCK           | West Island | 167          |
| 2912 | Adamstown   | PCN           | –           | 42           |
+------+-------------+---------------+-------------+--------------+

Untuk memasukkan kota dengan populasi 300, kita perlu meningkatkan nilai yang ditentukan:

SELECT * FROM city 
WHERE Population < 301;

Hasil:

+------+-------------+---------------+-------------+--------------+
| ID   | Name        | CountryCode   | District    | Population   |
|------+-------------+---------------+-------------+--------------|
| 2317 | West Island | CCK           | West Island | 167          |
| 2912 | Adamstown   | PCN           | –           | 42           |
| 3333 | Fakaofo     | TKL           | Fakaofo     | 300          |
+------+-------------+---------------+-------------+--------------+

Tanggal

Berikut adalah contoh untuk mendemonstrasikan penggunaan operator less than untuk membandingkan nilai tanggal.

SELECT PetName, DOB 
FROM Pets
WHERE DOB < '2020-01-01';

Hasil:

+-----------+------------+
| PetName   | DOB        |
|-----------+------------|
| Fetch     | 2019-08-16 |
| Scratch   | 2018-10-01 |
+-----------+------------+

String

Anda juga dapat menggunakan operator less than untuk membandingkan nilai string. Saat membandingkan dengan nilai string, gunakan tanda kutip di sekitar string.

SELECT * FROM city 
WHERE Name < 'Ab';

Hasil:

+------+------------------------------+---------------+---------------------+--------------+
| ID   | Name                         | CountryCode   | District            | Population   |
|------+------------------------------+---------------+---------------------+--------------|
| 20   | ´s-Hertogenbosch             | NLD           | Noord-Brabant       | 129170       |
| 548  | Šumen                        | BGR           | Varna               | 94686        |
| 670  | A Coruña (La Coruña)         | ESP           | Galicia             | 243402       |
| 698  | [San Cristóbal de] la Laguna | ESP           | Canary Islands      | 127945       |
| 2450 | Šiauliai                     | LTU           | Šiauliai            | 146563       |
| 3097 | Aachen                       | DEU           | Nordrhein-Westfalen | 243825       |
| 3318 | Aalborg                      | DNK           | Nordjylland         | 161161       |
| 3479 | Šostka                       | UKR           | Sumy                | 90000        |
| 3665 | Šahty                        | RUS           | Rostov-na-Donu      | 221800       |
| 3736 | Štšolkovo                    | RUS           | Moskova             | 104900       |
+------+------------------------------+---------------+---------------------+--------------+

Kueri ini mengembalikan semua kota yang kurang dari Ab . Pada dasarnya, ini mengembalikan semua kota yang dimulai dengan huruf lebih rendah dari Ab .

Beberapa Kondisi

Jika Anda memiliki beberapa ketentuan, Anda dapat menggunakan lebih dari satu operator.

Seperti ini:

SELECT * FROM city 
WHERE Name < 'Ab' AND Population < 100000;

Hasil:

+------+--------+---------------+------------+--------------+
| ID   | Name   | CountryCode   | District   | Population   |
|------+--------+---------------+------------+--------------|
| 548  | Šumen  | BGR           | Varna      | 94686        |
| 3479 | Šostka | UKR           | Sumy       | 90000        |
+------+--------+---------------+------------+--------------+

Diutamakan

Anda juga dapat menggunakan kombinasi operator saat memfilter hasil.

Perhatikan bahwa SQL memiliki urutan prioritas yang ditetapkan untuk jenis operator yang berbeda. Misalnya, ini mengevaluasi operator kondisional apa pun sebelum operator logika apa pun, seperti AND dan OR . Itu juga mengevaluasi AND operator sebelum OR operator.

Tanda kurung memiliki prioritas yang lebih tinggi daripada semua operator, sehingga Anda dapat menggunakan tanda kurung untuk menentukan urutan di mana setiap kondisi harus dievaluasi.

Perhatikan contoh berikut:

SELECT * FROM city 
WHERE Name < 'Ab' 
    AND Population < 100000
    OR District = 'Canary Islands';

Hasil:

+------+------------------------------+---------------+----------------+--------------+
| ID   | Name                         | CountryCode   | District       | Population   |
|------+------------------------------+---------------+----------------+--------------|
| 548  | Šumen                        | BGR           | Varna          | 94686        |
| 660  | Las Palmas de Gran Canaria   | ESP           | Canary Islands | 354757       |
| 672  | Santa Cruz de Tenerife       | ESP           | Canary Islands | 213050       |
| 698  | [San Cristóbal de] la Laguna | ESP           | Canary Islands | 127945       |
| 3479 | Šostka                       | UKR           | Sumy           | 90000        |
+------+------------------------------+---------------+----------------+--------------+

Dalam kueri ini, saya tidak memberikan tanda kurung, jadi AND operator dievaluasi sebelum OR operator.

Oleh karena itu kami mendapatkan baris yang memenuhi Name < 'Ab' AND Population < 100000 atau District = 'Canary Islands' . Kami dapat mengetahui hanya dengan melihat ini bahwa semua kota dari Kepulauan Canary akan dikembalikan, ditambah kota mana pun yang memenuhi kriteria pertama.

Ini seperti melakukan hal berikut:

SELECT * FROM city 
WHERE (Name < 'Ab' 
    AND Population < 100000)
    OR District = 'Canary Islands';

Itu akan memberi kita hasil yang sama seperti kueri sebelumnya tanpa tanda kurung.

Tapi lihat apa yang terjadi ketika kita memindahkan tanda kurung ke OR kondisi.

SELECT * FROM city 
WHERE Name < 'Ab' 
    AND (Population < 100000
    OR District = 'Canary Islands');

Hasil:

+------+------------------------------+---------------+----------------+--------------+
| ID   | Name                         | CountryCode   | District       | Population   |
|------+------------------------------+---------------+----------------+--------------|
| 548  | Šumen                        | BGR           | Varna          | 94686        |
| 698  | [San Cristóbal de] la Laguna | ESP           | Canary Islands | 127945       |
| 3479 | Šostka                       | UKR           | Sumy           | 90000        |
+------+------------------------------+---------------+----------------+--------------+

Kali ini kami hanya mendapatkan kota-kota yang memenuhi Population < 100000 OR District = 'Canary Islands' dan Name < 'Ab' .

Meniadakan Kondisi

Anda dapat menggunakan NOT operator untuk meniadakan kondisi yang diberikan oleh operator kurang dari. Ini contohnya:

SELECT PetName, DOB 
FROM Pets
WHERE NOT DOB < '2019-12-31';

Hasil:

+-----------+------------+
| PetName   | DOB        |
|-----------+------------|
| Fluffy    | 2020-11-20 |
| Wag       | 2020-03-15 |
| Tweet     | 2020-11-28 |
| Fluffy    | 2020-09-17 |
+-----------+------------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengumumkan Ketersediaan Umum SQL Compliance Manager 5.9

  2. Pengantar Basis Data Deret Waktu

  3. Bagaimana Rencana Paralel Memulai – Bagian 1

  4. Mengaktifkan Otentikasi Dua Faktor untuk ScaleGrid DBaaS

  5. FieldShield SDK