Database
 sql >> Baza danych >  >> RDS >> Database

Operator SQL mniejszy lub równy (=) dla początkujących

W SQL operator mniejszy lub równy (<= ) porównuje dwa wyrażenia i zwraca TRUE jeśli lewy operand ma wartość mniejszą lub równą prawemu operandowi; w przeciwnym razie wynik to FALSE .

Możesz go użyć do określenia, czy wartość jest mniejsza lub równa innej wartości.

Przykład

Oto przykład do zademonstrowania.

SELECT * FROM city 
WHERE Population <= 455;

Wynik:

+------+--------------------+---------------+-------------+--------------+
| ID   | Name               | CountryCode   | District    | Population   |
|------+--------------------+---------------+-------------+--------------|
| 2317 | West Island        | CCK           | West Island | 167          |
| 2912 | Adamstown          | PCN           | –           | 42           |
| 3333 | Fakaofo            | TKL           | Fakaofo     | 300          |
| 3538 | Città del Vaticano | VAT           | –           | 455          |
+------+--------------------+---------------+-------------+--------------+

To zapytanie zwraca wszystkie miasta o populacji 455 lub mniejszej.

Włącznie

Operator mniejszy lub równy zawiera określoną wartość w swojej ocenie. Widzieliśmy to w poprzednim przykładzie, gdy obejmował on miasto o populacji 455, co było dokładnie taką wartością, jaką podaliśmy.

Gdybyśmy nie chcieli, aby to miasto zostało uwzględnione, musielibyśmy albo obniżyć wartość:

SELECT * FROM city 
WHERE Population <= 454;

Wynik:

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

Lub możemy po prostu użyć operatora mniej niż (< ) zamiast:

SELECT * FROM city 
WHERE Population < 455;

Wynik:

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

Operator mniej niż nie zawiera określonej wartości.

Daty

Oto przykład demonstrujący użycie operatora mniejszego lub równego do porównywania wartości dat.

SELECT PetName, DOB 
FROM Pets
WHERE DOB <= '2020-03-15';

Wynik:

+-----------+------------+
| PetName   | DOB        |
|-----------+------------|
| Fetch     | 2019-08-16 |
| Scratch   | 2018-10-01 |
| Wag       | 2020-03-15 |
+-----------+------------+

Struny

Możesz także użyć <= operator do porównywania wartości ciągów. Porównując z wartością ciągu, użyj cudzysłowów wokół literału ciągu.

SELECT * FROM city 
WHERE Name <= 'Ab';

Wynik:

+------+------------------------------+---------------+---------------------+--------------+
| 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       |
+------+------------------------------+---------------+---------------------+--------------+

To zapytanie zwraca wszystkie miasta, które są mniejsze lub równe Ab . Zasadniczo zwraca wszystkie miasta, które zaczynają się od liter mniejszych niż Ab lub dokładnie Ab .

Wiele warunków

Jeśli masz wiele warunków, możesz użyć wielu <= operatorów.

Tak:

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

Wynik:

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

Pierwszeństwo

Możesz także użyć kombinacji operatorów podczas filtrowania wyników.

Zauważ, że SQL ma kolejność, którą przypisuje różnym typom operatorów. Na przykład ocenia wszystkie operatory warunkowe przed wszelkimi operatorami logicznymi, takimi jak AND i OR . Ponadto ocenia każdy AND operatory przed OR operatorów.

Nawiasy mają wyższy priorytet niż wszystkie operatory, więc możesz użyć nawiasów do określenia kolejności, w jakiej każdy warunek powinien być oceniany.

Rozważ następujący przykład:

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

Wynik:

+------+------------------------------+---------------+----------------+--------------+
| 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        |
+------+------------------------------+---------------+----------------+--------------+

W tym zapytaniu nie podałem żadnych nawiasów, więc AND operator został oceniony przed OR operatora.

Dlatego otrzymaliśmy wiersze, które spełniają albo Name <= 'Ab' AND Population <= 100000 lub District = 'Canary Islands' . Wystarczy spojrzeć na to, aby stwierdzić, że wszystkie miasta z Wysp Kanaryjskich zostaną zwrócone, plus wszystkie miasta spełniające pierwsze kryteria.

To tak, jakby wykonać następujące czynności:

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

To dałoby nam ten sam wynik, co poprzednie zapytanie bez nawiasów.

Ale spójrz, co się stanie, gdy przeniesiemy nawiasy do OR stan.

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

Wynik:

+------+------------------------------+---------------+----------------+--------------+
| 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        |
+------+------------------------------+---------------+----------------+--------------+

Tym razem otrzymaliśmy tylko te miasta, które spełniły wymagania zarówno Population <= 100000 OR District = 'Canary Islands' i Name <= 'Ab' .

Negowanie warunku

Możesz użyć NOT operator do zanegowania warunku dostarczonego przez <= operator. Oto przykład:

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

Wynik:

+-----------+------------+
| 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. Luka w zabezpieczeniach Joomla SQL iniekcji

  2. =) Operator dla początkujących

  3. Praca z interfejsami API JavaFX Chart

  4. Znajdź wycieki połączeń z bazą danych w swojej aplikacji

  5. Model danych dostawy do restauracji