Основы SQL: работа с SELECT TOP
• При работе с большими базами данных часто возникает необходимость ограничить количество результатов, возвращаемых запросом. Для этого в SQL существует запрос SELECT TOP.
3 примера, как можно использовать эту мощную функцию:
1. Выбор определенного количества записей
Простейшее использование SELECT TOP заключается в указании количества записей, которые необходимо вернуть.
2. Выбор части записей
SELECT TOP может также возвращать определенный процент записей. Это может быть полезно, когда необходимо получить подмножество данных.
3. Использование SELECT TOP с TIES
В некоторых случаях требуется вернуть все записи, имеющие общее значение с последней записью в выборке TOP. SELECT TOP WITH TIES позволяет это сделать.
• Предложение SELECT TOP является универсальным инструментом SQL для ограничения и уточнения результатов запросов!
• При работе с большими базами данных часто возникает необходимость ограничить количество результатов, возвращаемых запросом. Для этого в SQL существует запрос SELECT TOP.
3 примера, как можно использовать эту мощную функцию:
1. Выбор определенного количества записей
Простейшее использование SELECT TOP заключается в указании количества записей, которые необходимо вернуть.
-- Select the top 5 employees based on salary
SELECT TOP 5 *
FROM Employees
ORDER BY Salary DESC;2. Выбор части записей
SELECT TOP может также возвращать определенный процент записей. Это может быть полезно, когда необходимо получить подмножество данных.
-- Select the top 10% employees based on salary
SELECT TOP 10 PERCENT *
FROM Employees
ORDER BY Salary DESC;3. Использование SELECT TOP с TIES
В некоторых случаях требуется вернуть все записи, имеющие общее значение с последней записью в выборке TOP. SELECT TOP WITH TIES позволяет это сделать.
-- Select the top 5 employees based on salary, include ties
SELECT TOP 5 WITH TIES *
FROM Employees
ORDER BY Salary DESC;• Предложение SELECT TOP является универсальным инструментом SQL для ограничения и уточнения результатов запросов!
👍6
Какой результат вернет следующий PostgreSQL/MySQL запрос:
SELECT GREATEST (6.62, - 8, '82') ;
SELECT GREATEST (6.62, - 8, '82') ;
Anonymous Quiz
23%
6.62
3%
- 8
22%
82
30%
Ошибка
23%
Посмотреть ответы
😱10👍6
Разбор ошибок. SQL запрос кросс-джойн двух таблиц без явного указания оператора JOIN
Этот запрос выполняет кросс-джойн двух таблиц без явного указания оператора JOIN, что может привести к неожиданным результатам.
Кроме того, он не использует оператор WHERE для фильтрации строк, что означает, что он возвращает все строки, удовлетворяющие условию соединения. Это может привести к запросу к большому объему данных, из-за которых запрос будет выполняться медленно.
Наконец, условие фильтрации для идентификации клиента по имени не учитывает возможность наличия нескольких клиентов с одинаковыми именами в таблице customers
SELECT *
FROM orders, customers
WHERE orders.customer_id = customers.customer_id
AND customers.first_name = 'John'Этот запрос выполняет кросс-джойн двух таблиц без явного указания оператора JOIN, что может привести к неожиданным результатам.
Кроме того, он не использует оператор WHERE для фильтрации строк, что означает, что он возвращает все строки, удовлетворяющие условию соединения. Это может привести к запросу к большому объему данных, из-за которых запрос будет выполняться медленно.
Наконец, условие фильтрации для идентификации клиента по имени не учитывает возможность наличия нескольких клиентов с одинаковыми именами в таблице customers
👍5😱1
Руководство по подготовке к собеседованию по SQL
Задачи по SQL можно разделить на 4 уровня. В рамках гайда мы рассмотрим каждый из них вместе со стандартными примерами для практики. Если хотите лучше усвоить материал, не переходите сразу же к решению.
Смотреть статью
Задачи по SQL можно разделить на 4 уровня. В рамках гайда мы рассмотрим каждый из них вместе со стандартными примерами для практики. Если хотите лучше усвоить материал, не переходите сразу же к решению.
Смотреть статью
👍5
Делаем SQL-запросы чище
Периодически в коде запросов и "заточенных" под них индексов наблюдаю примерно подобные куски:
Понятно, что тут хотели обезопасить себя от заполненности любого из полей NULL-значением, чтобы случайно вся строка не заNULL'илась.
Правда, тут возникают некоторые артефакты в виде "висящих пробелов" типа
Но ведь есть решение изящнее и проще - функция concat_ws:
Периодически в коде запросов и "заточенных" под них индексов наблюдаю примерно подобные куски:
coalesce("Фамилия", '') || ' ' || coalesce("Имя", '') || ' ' || coalesce("Отчество", '')
Понятно, что тут хотели обезопасить себя от заполненности любого из полей NULL-значением, чтобы случайно вся строка не заNULL'илась.
Правда, тут возникают некоторые артефакты в виде "висящих пробелов" типа
' Иван Иванович' или 'Иванов Иван '.Но ведь есть решение изящнее и проще - функция concat_ws:
concat_ws(' ', "Фамилия", "Имя", "Отчество")👍6
Временные таблицы
Держите видео, в котором автор увлекательно рассказывает о временных таблицах.
Temporary Tables – это таблицы, которые хранятся в оперативной памяти сервера. Вы узнаете о создании локальных и глобальных временных таблиц.
📘Видео урок
Держите видео, в котором автор увлекательно рассказывает о временных таблицах.
Temporary Tables – это таблицы, которые хранятся в оперативной памяти сервера. Вы узнаете о создании локальных и глобальных временных таблиц.
📘Видео урок
👍4❤1
WITH employee_ranking AS (
SELECT
employee_id,
last_name,
first_name,
salary,
RANK() OVER (ORDER BY salary DESC) as ranking
FROM employee
)
SELECT
employee_id,
last_name,
first_name,
salary
FROM employee_ranking
WHERE ranking = 2
Условие WHERE ranking = 2 используется для фильтрации строк второй по величине зарплаты. Обратите внимание, что на позиции 2 может находиться более одного сотрудника, если у них одинаковая зарплата.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤2
запросов на естественном языке в SQL-запросы с помощью искусственного интеллекта. Этот проект является 100% бесплатным и с открытым исходным кодом.git clone https://github.com/whoiskatrin/sql-translator.gitGithub
Проект
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7😱1
Виды JOIN в SQL
В SQL-джойнах скрыто больше, чем можно подумать. Давайте разберем их.
Будем использовать две простые таблицы: компании companies и их вакансии
Есть три вымышленные компании —
Смотреть статью
В SQL-джойнах скрыто больше, чем можно подумать. Давайте разберем их.
Будем использовать две простые таблицы: компании companies и их вакансии
jobs.Есть три вымышленные компании —
Hoogle, Emazon и Neta — которые предлагают на удивление мало вакансий:Hoogle интересуется аналитиками данных. Emazon нанимает Go-разработчиков и ML-инженеров. У Neta нет вакансий. А какая-то ноунейм-компания с идентификатором 99 отчаянно разыскивает UI-дизайнера.Смотреть статью
👍7
Оконные функции SQL простым языком с примерами
Сразу хочется отметить, что данная статья написана исключительно для людей, начинающих свой путь в изучении SQL и оконных функций. Здесь могут быть не разобраны сложные применения функций и могут не использоваться сложные формулировки определений - все написано максимально простым языком для базового понимания.
Для примеров будем использовать небольшую таблицу, которая показывает оценки учеников по разным предметам.
Смотреть статью
Сразу хочется отметить, что данная статья написана исключительно для людей, начинающих свой путь в изучении SQL и оконных функций. Здесь могут быть не разобраны сложные применения функций и могут не использоваться сложные формулировки определений - все написано максимально простым языком для базового понимания.
Для примеров будем использовать небольшую таблицу, которая показывает оценки учеников по разным предметам.
Смотреть статью
Хабр
Оконные функции SQL простым языком с примерами
Привет всем! Сразу хочется отметить, что данная статья написана исключительно для людей, начинающих свой путь в изучении SQL и оконных функций. Здесь могут быть не разобраны сложные применения функций...
👍3
Автоинкремент это:
Anonymous Quiz
9%
вызов функцией самой себя
3%
автоматический поиск значений
82%
автоматическое приращение значений ключа
5%
автономный подзапрос внутри запроса
👍6