Перейти к основному содержимому

SQL AND

Оператор AND возвращает результаты, которые соответствуют всем переданным в него условиям; в отличие от оператора OR, которому достаточно одного истинного условия. Вы часто увидите оператор AND в предложении WHERE для фильтрации результатов запроса или в операторе case для создания нескольких критериев для результата.

Используйте эту страницу, чтобы понять, как использовать оператор AND и почему он может быть полезен в аналитической инженерии.

Как использовать оператор AND

Использовать оператор AND просто, и вы обычно увидите его в предложении WHERE для соответствующей фильтрации результатов запроса, в операторах case или в объединениях, которые включают несколько полей.

-- and в предложении where
where <condition_1> and <condition_2> and

-- and в операторе case
case when <condition_1> and <condition_2> then <result_1>

-- and в объединении
from <table_a>
join <table_b> on
<a_id_1> = <b_id_1> and <a_id_2> = <b_id_2>
Суррогатные ключи > соединения с AND

Использование surrogate keys — хешированных значений из нескольких колонок — отличный способ избежать использования операторов AND в join-ах. Как правило, наличие AND или OR operators в условии join может приводить к потенциально неэффективным запросам или моделям, особенно при больших объёмах данных. Поэтому создание surrogate keys заранее в upstream-таблицах (using the surrogate key macro) может потенциально повысить производительность downstream-моделей.

:::

Пример оператора SQL AND

select
order_id,
status,
round(amount) as amount
from {{ ref('orders') }}
where status = 'shipped' and amount > 20
limit 3

Этот запрос, использующий пример набора данных таблицы orders магазина Jaffle, вернет результаты, где статус заказа — отправлен, а сумма заказа превышает $20:

order_idstatusamount
74shipped30
88shipped29
78shipped26
Loading table...

Синтаксис оператора AND в Snowflake, Databricks, BigQuery и Redshift

Snowflake, Databricks, Google BigQuery и Amazon Redshift поддерживают оператор AND с одинаковым синтаксисом на каждой платформе.

Нашли ошибку?

0
Loading