SQL и БД Learning – Telegram
SQL и БД Learning
10.2K subscribers
797 photos
9 videos
22 files
445 links
№ 5060218708

Изучаем SQL с нуля

По всем вопросам @mascarov_valentin

Реклама на бирже - https://telega.in/c/SQl_and_DB_Learning
Download Telegram
🖥 sqlite-web - это веб-браузер баз данных SQLite, написанный на Python.

Работает с существующими базами данных SQLite или может использоваться для создания новых баз данных.
Экспорт данных в формате JSON или CSV.
Импорт файлов JSON или CSV.


$ pip install sqlite-web

Github
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Termdbms

Удобный инструмент для просмотра и редактирования файлов базы данных(SQLite, CSV), написанный на Go.

Позволяет перемещаться по таблицам с любым количеством столбцов
Позволяет перемещаться по таблицам с любым количеством строк
Запускает SQL-запросы и отображайте результаты
Позволяет сохранять SQL-запросы в буфер обмена
Обновление, удаление или вставка с помощью SQL, с поддержкой отмены / повтора для SQLite
Работает с клавиатурой и мышью.
Автоматическое форматирование JSON в режиме выбора / форматирования
Позволяет редактировать многострочный текст с помощью элементов управления, подобных vim
Отмена / возврат изменений (только SQLite)
Темы (нажмите T в режиме таблицы)
Вывод результатов запроса в формате CSV
Конвертируйте .csv в базу данных SQLite! Экспортируйте снова как базу данных SQLite или файл .csv!

Github
👍2
Основы SQL: работа с SELECT TOP

При работе с большими базами данных часто возникает необходимость ограничить количество результатов, возвращаемых запросом. Для этого в 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') ;
Anonymous Quiz
23%
6.62
3%
- 8
22%
82
30%
Ошибка
23%
Посмотреть ответы
😱10👍6
Разбор ошибок. SQL запрос кросс-джойн двух таблиц без явного указания оператора JOIN

SELECT *
FROM orders, customers
WHERE orders.customer_id = customers.customer_id
AND customers.first_name = 'John'


Этот запрос выполняет кросс-джойн двух таблиц без явного указания оператора JOIN, что может привести к неожиданным результатам.

Кроме того, он не использует оператор WHERE для фильтрации строк, что означает, что он возвращает все строки, удовлетворяющие условию соединения. Это может привести к запросу к большому объему данных, из-за которых запрос будет выполняться медленно.

Наконец, условие фильтрации для идентификации клиента по имени не учитывает возможность наличия нескольких клиентов с одинаковыми именами в таблице customers
👍5😱1
Руководство по подготовке к собеседованию по SQL

Задачи по SQL можно разделить на 4 уровня. В рамках гайда мы рассмотрим каждый из них вместе со стандартными примерами для практики. Если хотите лучше усвоить материал, не переходите сразу же к решению.

Смотреть статью
👍5
Делаем SQL-запросы чище

Периодически в коде запросов и "заточенных" под них индексов наблюдаю примерно подобные куски:

coalesce("Фамилия", '') || ' ' || coalesce("Имя", '') || ' ' || coalesce("Отчество", '')


Понятно, что тут хотели обезопасить себя от заполненности любого из полей NULL-значением, чтобы случайно вся строка не заNULL'илась.

Правда, тут возникают некоторые артефакты в виде "висящих пробелов" типа ' Иван Иванович' или 'Иванов Иван '.

Но ведь есть решение изящнее и проще - функция concat_ws:
concat_ws(' ', "Фамилия", "Имя", "Отчество")
👍6
Временные таблицы

Держите видео, в котором автор увлекательно рассказывает о временных таблицах.

Temporary Tables – это таблицы, которые хранятся в оперативной памяти сервера. Вы узнаете о создании локальных и глобальных временных таблиц.

📘Видео урок
👍41
🖥 Предположим, что нам необходимо получить данные о сотруднике, имеющем вторую по величине зарплату в компании. Мы можем использовать следующий запрос:

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
👍82
📢SQL Translator - это инструмент для преобразования запросов на естественном языке в SQL-запросы с помощью искусственного интеллекта. Этот проект является 100% бесплатным и с открытым исходным кодом.

git clone https://github.com/whoiskatrin/sql-translator.git

Github
Проект
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7😱1
Виды JOIN в SQL

В SQL-джойнах скрыто больше, чем можно подумать. Давайте разберем их.

Будем использовать две простые таблицы: компании companies и их вакансии jobs.

Есть три вымышленные компании — Hoogle, Emazon и Neta — которые предлагают на удивление мало вакансий:

Hoogle интересуется аналитиками данных. Emazon нанимает Go-разработчиков и ML-инженеров. У Neta нет вакансий. А какая-то ноунейм-компания с идентификатором 99 отчаянно разыскивает UI-дизайнера.

Смотреть статью
👍7
Оконные функции SQL простым языком с примерами

Сразу хочется отметить, что данная статья написана исключительно для людей, начинающих свой путь в изучении SQL и оконных функций. Здесь могут быть не разобраны сложные применения функций и могут не использоваться сложные формулировки определений - все написано максимально простым языком для базового понимания.

Для примеров будем использовать небольшую таблицу, которая показывает оценки учеников по разным предметам.

Смотреть статью
👍3