city
|
state
|
100
|
Yandex
|
Moscow
|
Russian
|
200
|
Google
|
Lansing
|
Michigan
|
300
|
Oracle
|
Redwood City
|
California
|
400
|
Bing
|
Redmond
|
Washington
|
500
|
Yahoo
|
Sunnyvale
|
Washington
|
600
|
DuckDuckGo
|
Paoli
|
Pennsylvania
|
700
|
Qwant
|
Paris
|
France
|
800
|
Facebook
|
Menlo Park
|
California
|
900
|
Electronic Arts
|
San Francisco
|
California
|
Введите следующий SQL оператор.
PgSQL
1
2
3
|
SELECT *
FROM suppliers
WHERE state = 'California';
|
Будет выбрано 3 записи. Вот результаты, которые вы должны получить.
supplier_id
|
supplier_name
|
city
|
state
|
300
|
Oracle
|
Redwood City
|
California
|
800
|
Facebook
|
Menlo Park
|
California
|
900
|
Electronic Arts
|
San Francisco
|
California
|
В этом примере мы использовали SQL оператор WHERE, чтобы отфильтровать результаты из таблицы suppliers. Приведенный выше SQL оператор вернул бы все строки из таблицы suppliers, где state - 'California'. Поскольку в SELECT используется *, то все поля из таблицы suppliers будут отображаться в наборе результатов.
Пример - два условия в операторе WHERE (условие AND)
Вы можете использовать условие AND в операторе WHERE, чтобы указать более 1 условия, которое должно быть выполнено для выбора записи. Давайте рассмотрим, как это сделать.
В этом примере у нас есть таблица customers со следующими данными:
customer_id
|
first_name
|
last_name
|
favorite_website
|
4000
|
Justin
|
Bieber
|
google.com
|
5000
|
Selena
|
Gomez
|
bing.com
|
6000
|
Mila
|
Kunis
|
yahoo.com
|
7000
|
Tom
|
Cruise
|
oracle.com
|
8000
|
Johnny
|
Depp
|
NULL
|
9000
|
Russell
|
Crowe
|
google.com
|
Теперь введите следующий SQL оператор.
PgSQL
1
2
3
4
|
SELECT *
FROM customers
WHERE favorite_website = 'google.com'
AND customer_id > 6000;
|
Будет выбрана 1 запись. Вот результаты, которые вы должны получить.
customer_id
|
first_name
|
last_name
|
favorite_website
|
9000
|
Russell
|
Crowe
|
google.com
|
В этом примере используется оператор WHERE для определения нескольких условий. В этом случае этот SQL оператор использует условие AND, чтобы вернуть всех customers, у которых favorite_website является google.com, и чей customer_id больше 6000.
Пример - два условия в операторе WHERE (условие OR)
Вы можете использовать условие OR в операторе WHERE, чтобы протестировать несколько условий, при которых возвращается запись, если выполняется любое из условий.
В этом примере у нас есть таблица products со следующими данными:
product_id
|
product_name
|
category_id
|
1
|
Pear
|
50
|
2
|
Banana
|
50
|
3
|
Orange
|
50
|
4
|
Apple
|
50
|
5
|
Bread
|
75
|
6
|
Sliced Ham
|
25
|
7
|
Kleenex
|
NULL
|
Теперь введите следующий SQL оператор.
PgSQL
1
2
3
4
|
SELECT *
FROM products
WHERE product_name = 'Pear'
OR product_name = 'Apple';
|
Будет выбрано записи. Вот результаты, которые вы должны получить.
product_id
|
product_name
|
category_id
|
1
|
Pear
|
50
|
4
|
Apple
|
50
|
В этом примере, для определения нескольких условий, используется оператор WHERE, но вместо использования условия AND используется условие OR. В этом случае этот SQL запрос вернет все записи из таблицы products, где product_name - это Pear или Apple.
Вы также можете комбинировать условие AND с условием OR для проверки более сложных условий.
Давайте для этого примера снова использовать таблицу products.
product_id
|
product_name
|
category_id
|
1
|
Pear
|
50
|
2
|
Banana
|
50
|
3
|
Orange
|
50
|
4
|
Apple
|
50
|
5
|
Bread
|
75
|
6
|
Sliced Ham
|
25
|
7
|
Kleenex
|
NULL
|
Теперь введите следующий SQL оператор.
PgSQL
1
2
3
4
|
SELECT *
FROM products
WHERE (product_id > 3 AND category_id = 75)
OR (product_name = 'Pear');
|
Будет выбрано записи. Вот результаты, которые вы должны получить.
product_id
|
product_name
|
category_id
|
1
|
Pear
|
50
|
5
|
Bread
|
75
|
В этом примере возвращаются все записи таблицы products, у которых product_id больше 3 и category_id - 75, а также записи с product_name это 'Pear'.
Скобки определяют порядок оценки условий AND и OR.
Достарыңызбен бөлісу: |