tgoop.com/asisakov_channel/594
Last Update:
Как заботать SQL
В прошлом посте я упоминал, что в нашем пути в Data Science лучше всего начинать с SQL. А как это можно сделать, я раскрою в этом посте.
Супер легкого решения здесь нет. Но и путь тоже несложный. Здесь наша задача на базовом уровне состоит в том, чтобы понять, что кроется за нашими большими таблицами с данными, и как при этом можно с ними эффективно работать через запросы. То есть: верхнеуровневое понимание баз данных + умение работать с SQL запросами.
Итак, начнем по порядку для самого минимума по SQL:
1. Заботать основы реляционных баз данных:
Узнать, что такое таблицы, связи между ними, первичные и внешние ключи, индексы. Попробовать поставить на комп условный MySQL или PostgreSQL (для особо умных SQLite), и просто потыкать, что там происходит. По-хорошему также сразу почитать про типы хранения данных
2. Выучить основной синтаксис и порядок расположения слов
Знать простейшие вещи типа: SELECT, FROM, CREATE, INSERT, UPDATE, DELETE. И обязательно из попробовать потыкать в какой-нибудь базе. Сразу дополнительно заботать WHERE вместе с операторами AND, OR, NOT. И постараться понять, что за чем выполняется и в какой последовательности.
3. Пробежаться по группировке и агрегациям
Понять, что такое COUNT, SUM, AVG, MIN, MAX. И как при этом использовать GROUP BY, дополнительно прочитать про HAVING. Загуглить, где при этом используется DISTINCT, и что он вообще делает.
4. Обязательно заботать разные способы соединения таблиц
Знать назубок различные виды JOIN (INNER, LEFT, RIGHT, FULL), знать про UNION и обязательно это пощупать через данные из нескольких таблиц. По возможности прочитать про индексы и вообще покопаться, как внутри работают сложные запросы с джойнами и группировками.
5. Поработать с большими запросами
Посмотреть, что делает выражение WITH, подготовить несколько подзапросов и сложных CASE-выражений. По хорошему также погуглить про возможности работы с временными данными и способами их обработки (в каждой базе будут свои методы).
6. Потыкать оконные функции
Обязательно понять, что такое OVER (PARTITION BY ...) и причем здесь вообще может быть row_number() или lag().
Ну и по-хорошему пройти до конца какой-нибудь курс с хорошим погружением, почитать книги и статьи по SQL. И обязательно потренироваться на тренажерах!
Если вы не знаете из чего выбрать, то пожалуйста
Тренажеры:
Однозначно самый популярный ресурс - sql-ex
Задачки по SQL, приближенные к реальной жизни
Степик - тренажер ДВФУ
Степик - интерактивный тренажер по SQL
SQL Academy
Задачки по SQL на kaggle
Интерактивный тренажер с иллюстрациями
Leetcode 50 SQL
SQLZoo
И еще:
schoolsw3.com
SQL Fiddle
sqltest.online
Oracle LiveSQL
stratascratch.com
sql-practice.com
HackerRank
sqlzoo.net
Курсы по SQL (их миллиард, поэтому только несколько):
SQL Intro
Интерактивный тренажер по SQL
Карпов курсес
Кодакадеми
SQLBolt
Khanacademy
SQLZoo
Вопросы к собесам:
100 вопросов
Вопросы по SQL и PostgreSQL
Лучшие вопросы средней сложности по SQL
Что почитать:
Просто топовая статья на Хабре с примерным роадмапом изучения SQL и баз данных
Чуть более простенькая статья тоже с роадмапом изучения SQL
Небольшая статья со ссылками на материалы
Road To Hero про Roadmap для SQL
Большой учебный план по SQL на месяц
Ultimate SQL Guide
Несложные задачки по SQL на внимательность
Не забываем прочесть перед собесами мой пост про их прохождение.
Надеюсь вам пригодятся эти материалы! Кидайте в комментарии интересные ссылки для того, чтобы подтянуть SQL!
UPD. Накинул еще ссылочку из комментариев
@asisakov_channel
#sql #courses #interview
BY asisakov
Share with your friend now:
tgoop.com/asisakov_channel/594