и посмотреть медиа
Data analysis - DA SQL
и посмотреть медиа
Data analysis: SQL, Python.
Data analysis: SQL, Python.
AI bot for text-to-speech and voice cloning in Telegram. Create audio using neural network quickly and easily.
About data analysis: databases, SQL, Python and more for analysts.
Порядок выполнения SQL-запроса Типовой SQL-запрос SELECT * FROM table WHERE -- условие GROUP BY -- условие HAVING -- условие ORDER BY -- условие LIMIT -- n имеет следующий порядок выполнения: 1️⃣ FROM. Идет первым, т.к. определяет источник данных. 🟠Что касаемо JOIN (при его наличии), то этот оператор является частью этапа FROM, но фактически выполняется после FROM. Вообще считается, что с помощью FROM + JOIN создается источник данных, который уже будет обрабатываться дальше другими операторами. 2️⃣ WHERE. После того, как данные выбрались из источника, идет фильтрация строк. WHERE идет до группировки, и связано это с тем, что нет смысла группировать данные, которые всё равно будут отброшены. 3️⃣ GROUP BY. После фильтрации происходит группировка уже "очищенных" данных от лишних строк. Это банально быстрее, чем делать наоборот. 4️⃣ HAVING. Идет после GROUP BY, т.к. фильтрует уже саму готовую группировку, чаще всего с использованием агрегатных функций. 5️⃣ SELECT. Происходит выбор столбцов, выполняется пятым. На первый взгляд это контринтуитивно, т.к. логичнее было бы выбрать столбцы до WHERE и работать только с нужными. Но не стоит забывать, что в SELECT еще присваиваются названия столбцов через AS; могут производиться разного рода математические операции (а происходят они как раз с готовыми данными после HAVING); также SQL-запросы могут работать с теми столбцами, которых нет в SELECT (например, SELECT col_1, col_2 FROM... WHERE col_3...) - без этой особенности пришлось бы выводить все столбцы, которые затрагивают другие операторы. 🟠Если есть DISTINCT, то он выполняется после SELECT, но до ORDER BY - из практически финальной выборки до сортировки нужно удалить все дубликаты. 6️⃣ ORDER BY. Практически окончательный набор данных сортируется после SELECT. Основная причина, почему ORDER BY стоит практически в самом конце - это то, что он сортирует не по каким-то промежуточным значениям, а уже по готовой выборке в зависимости от того, что было посчитано и выведено в результате SELECT-а. И поэтому ORDER BY, в отличие от того же WHERE, поддерживает псевдонимы, которые были заданы в SELECT через AS. 7️⃣ LIMIT. После всех операций финальная выборка просто ограничивается указанным количеством строк.
Открыть канал и посмотреть медиаOnly registered users can share their opinion.
Be the first to share your impression of this resource!