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

) Operator untuk Pemula

Dalam SQL, operator lebih besar dari (> ) membandingkan dua ekspresi dan mengembalikan TRUE jika operan kiri memiliki nilai lebih tinggi dari operan kanan; jika tidak, ia mengembalikan FALSE .

Contoh

Berikut ini contoh untuk didemonstrasikan.

SELECT * FROM city
WHERE Population > 9000000;

Hasil:

+------+-----------------+---------------+--------------+--------------+
| ID   | Name            | CountryCode   | District     | Population   |
|------+-----------------+---------------+--------------+--------------|
| 206  | São Paulo       | BRA           | São Paulo    | 9968485      |
| 939  | Jakarta         | IDN           | Jakarta Raya | 9604900      |
| 1024 | Mumbai (Bombay) | IND           | Maharashtra  | 10500000     |
| 1890 | Shanghai        | CHN           | Shanghai     | 9696300      |
| 2331 | Seoul           | KOR           | Seoul        | 9981619      |
| 2822 | Karachi         | PAK           | Sindh        | 9269265      |
+------+-----------------+---------------+--------------+--------------+

Kueri ini menampilkan semua kota yang memiliki populasi lebih dari 9 juta.

Eksklusif

Operator lebih besar dari tidak menyertakan nilai yang ditentukan dalam evaluasinya.

Misalnya, contoh berikut tidak mengembalikan Karachi, yang menurut database ini memiliki populasi persis 9269265:

SELECT * FROM city 
WHERE Population > 9269265;

Hasil:

+------+-----------------+---------------+--------------+--------------+
| ID   | Name            | CountryCode   | District     | Population   |
|------+-----------------+---------------+--------------+--------------|
| 206  | São Paulo       | BRA           | São Paulo    | 9968485      |
| 939  | Jakarta         | IDN           | Jakarta Raya | 9604900      |
| 1024 | Mumbai (Bombay) | IND           | Maharashtra  | 10500000     |
| 1890 | Shanghai        | CHN           | Shanghai     | 9696300      |
| 2331 | Seoul           | KOR           | Seoul        | 9981619      |
+------+-----------------+---------------+--------------+--------------+

Untuk memasukkan kota dengan populasi 9269265, kita perlu mengurangi nilai yang ditentukan:

SELECT * FROM city 
WHERE Population > 9269264;

Hasil:

+------+-----------------+---------------+--------------+--------------+
| ID   | Name            | CountryCode   | District     | Population   |
|------+-----------------+---------------+--------------+--------------|
| 206  | São Paulo       | BRA           | São Paulo    | 9968485      |
| 939  | Jakarta         | IDN           | Jakarta Raya | 9604900      |
| 1024 | Mumbai (Bombay) | IND           | Maharashtra  | 10500000     |
| 1890 | Shanghai        | CHN           | Shanghai     | 9696300      |
| 2331 | Seoul           | KOR           | Seoul        | 9981619      |
| 2822 | Karachi         | PAK           | Sindh        | 9269265      |
+------+-----------------+---------------+--------------+--------------+

Entah itu, atau kita bisa menggunakan lebih besar dari atau sama dengan (>= ) operator.

SELECT * FROM city 
WHERE Population >= 9269265;

Hasil:

+------+-----------------+---------------+--------------+--------------+
| ID   | Name            | CountryCode   | District     | Population   |
|------+-----------------+---------------+--------------+--------------|
| 206  | São Paulo       | BRA           | São Paulo    | 9968485      |
| 939  | Jakarta         | IDN           | Jakarta Raya | 9604900      |
| 1024 | Mumbai (Bombay) | IND           | Maharashtra  | 10500000     |
| 1890 | Shanghai        | CHN           | Shanghai     | 9696300      |
| 2331 | Seoul           | KOR           | Seoul        | 9981619      |
| 2822 | Karachi         | PAK           | Sindh        | 9269265      |
+------+-----------------+---------------+--------------+--------------+

Tanggal

Berikut adalah contoh untuk mendemonstrasikan penggunaan operator lebih besar dari untuk membandingkan nilai tanggal.

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

Hasil:

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

String

Anda juga dapat menggunakan operator lebih besar dari untuk membandingkan nilai string. Saat membandingkan dengan nilai string, gunakan tanda kutip di sekitar string.

SELECT * FROM city 
WHERE Name > 'Zukovski'
ORDER BY Name;

Hasil:

+------+----------+---------------+------------+--------------+
| ID   | Name     | CountryCode   | District   | Population   |
|------+----------+---------------+------------+--------------|
| 2669 | Zumpango | MEX           | México     | 99781        |
| 2025 | Zunyi    | CHN           | Guizhou    | 261862       |
| 3245 | Zürich   | CHE           | Zürich     | 336800       |
| 3145 | Zwickau  | DEU           | Saksi      | 104146       |
| 28   | Zwolle   | NLD           | Overijssel | 105819       |
| 3446 | Zytomyr  | UKR           | Zytomyr    | 297000       |
+------+----------+---------------+------------+--------------+

Beberapa Kondisi

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

Seperti ini:

SELECT * FROM city 
WHERE Name > 'Zukovski' AND Population > 200000;

Hasil:

+------+---------+---------------+------------+--------------+
| ID   | Name    | CountryCode   | District   | Population   |
|------+---------+---------------+------------+--------------|
| 2025 | Zunyi   | CHN           | Guizhou    | 261862       |
| 3245 | Zürich  | CHE           | Zürich     | 336800       |
| 3446 | Zytomyr | UKR           | Zytomyr    | 297000       |
+------+---------+---------------+------------+--------------+

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 > 'Zukovski' 
    AND Population > 100000
    OR District = 'Overijssel';

Hasil:

+------+----------+---------------+------------+--------------+
| ID   | Name     | CountryCode   | District   | Population   |
|------+----------+---------------+------------+--------------|
| 15   | Enschede | NLD           | Overijssel | 149544       |
| 28   | Zwolle   | NLD           | Overijssel | 105819       |
| 2025 | Zunyi    | CHN           | Guizhou    | 261862       |
| 3145 | Zwickau  | DEU           | Saksi      | 104146       |
| 3245 | Zürich   | CHE           | Zürich     | 336800       |
| 3446 | Zytomyr  | UKR           | Zytomyr    | 297000       |
+------+----------+---------------+------------+--------------+

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

Oleh karena itu kami mendapatkan baris yang memenuhi Name > 'Zukovski' AND Population > 100000 atau District = 'Overijssel' . Kita bisa tahu hanya dengan melihat ini bahwa semua kota dari distrik Overijssel akan dikembalikan, ditambah kota yang memenuhi kriteria pertama.

Ini seperti melakukan hal berikut:

SELECT * FROM city 
WHERE (Name > 'Zukovski' 
    AND Population > 100000)
    OR District = 'Overijssel';

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 > 'Zukovski' 
    AND (Population > 100000
    OR District = 'Overijssel');

Hasil:

+------+---------+---------------+------------+--------------+
| ID   | Name    | CountryCode   | District   | Population   |
|------+---------+---------------+------------+--------------|
| 28   | Zwolle  | NLD           | Overijssel | 105819       |
| 2025 | Zunyi   | CHN           | Guizhou    | 261862       |
| 3145 | Zwickau | DEU           | Saksi      | 104146       |
| 3245 | Zürich  | CHE           | Zürich     | 336800       |
| 3446 | Zytomyr | UKR           | Zytomyr    | 297000       |
+------+---------+---------------+------------+--------------+

Kali ini kami hanya mendapatkan kota-kota yang memenuhi Population > 100000 OR District = 'Overijssel' dan Name > 'Overijssel' .

Hal ini mengakibatkan hanya satu kota dari Overijssel yang dikembalikan, berlawanan dengan dua kota pada kueri sebelumnya.

Meniadakan Kondisi

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

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

Hasil:

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. KELOMPOK MENURUT vs ORDER BY

  2. Pertandingan Terdekat, Bagian 3

  3. Meningkatkan Pemeliharaan Partisi dengan Statistik Tambahan

  4. Bagaimana Membandingkan Dua Baris dari Tabel yang Sama

  5. Counter Zombie PerfMon yang Tidak Pernah Mati!