TGViewer
Data Science | Вопросы собесов Data Science | Вопросы собесов @easy_ds · 4.89K subscribers
Post #2592 448
🤔 Как работает where?

Ключевое слово WHERE в SQL используется для фильтрации записей в запросах. Оно позволяет ограничивать результаты запроса только теми строками, которые удовлетворяют определенным условиям. Ключевое слово WHERE может применяться в операторах SELECT, UPDATE, DELETE, а также в других контекстах.

🚩Принципы

🟠Фильтрация строк
WHERE задает условие, которое проверяется для каждой строки в таблице. Только те строки, которые удовлетворяют условию, включаются в результирующий набор данных.

🟠Операторы и выражения
Условия в WHERE могут содержать различные операторы, такие как сравнения (=, <>, >, <, >=, <=), логические операторы (AND, OR, NOT), а также функции и другие выражения.

🟠Работа с NULL
Для проверки на NULL используется оператор IS NULL или IS NOT NULL.

🚩Примеры использования `WHERE`

SELECT с условием
SELECT * FROM employees
WHERE salary > 50000;


UPDATE с условием
UPDATE employees
SET salary = salary * 1.10
WHERE department = 'Sales';


DELETE с условием
DELETE FROM employees
WHERE hire_date < '2020-01-01';


Использование AND и OR
SELECT * FROM employees
WHERE department = 'IT' AND salary > 60000;


Этот запрос выбирает всех сотрудников из отдела IT с зарплатой более 60,000.
SELECT * FROM employees
WHERE department = 'IT' OR department = 'HR';


Проверка на NULL
SELECT * FROM employees
WHERE manager_id IS NULL;


🚩Пример использования в Python с библиотекой sqlite3

import sqlite3

# Создание соединения с базой данных SQLite
conn = sqlite3.connect('example.db')
cursor = conn.cursor()

# Создание таблицы
cursor.execute('''
CREATE TABLE IF NOT EXISTS employees (
id INTEGER PRIMARY KEY,
name TEXT,
department TEXT,
salary REAL,
hire_date TEXT
)
''')

# Вставка данных
cursor.execute('''
INSERT INTO employees (name, department, salary, hire_date)
VALUES ('John Doe', 'IT', 75000, '2021-05-01')
''')

cursor.execute('''
INSERT INTO employees (name, department, salary, hire_date)
VALUES ('Jane Smith', 'HR', 50000, '2019-03-15')
''')

conn.commit()

# Запрос данных с использованием WHERE
cursor.execute('''
SELECT * FROM employees WHERE salary > 60000
''')

# Получение и вывод результатов
rows = cursor.fetchall()
for row in rows:
print(row)

# Закрытие соединения
conn.close()


Ставь 👍 и забирай 📚 Базу знаний
More from @easy_ds
  1. Oct 11, 2026🤔 Что такое декоратор? Это функция, модифицирующая или расширяющая поведение другой функц…
  2. Oct 11, 2026Post #2699
  3. Oct 11, 2026🤔 Как валидировать временные ряды ? Валидация временных рядов требует специальных подходо…
  4. Oct 10, 2026Post #2697
  5. Oct 10, 2026🤔 Что такое переобучение модели? Переобучение (overfitting) происходит, когда модель слиш…
  6. Oct 9, 2026🤔 Расскажи о Gradient-boosted trees Gradient-boosted trees — это ансамблевый метод машинн…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →