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
АВТОИНКРЕМЕНТ: ПРЯМОЙ СБРОС

Одной из замечательных стандартных возможностей MySQL является столбец индекса Autoincrement.

При создании новой строки будет автоматически высчитываться и заноситься в строку её номер по порядку. Однако, этот стандартный отсчет иногда требуется сбросить. Данными командами(см картинку) это легко можно произвести.
👍14
#Вопросы_с_собеседования

Что такое соединения в SQL?

Для соединения строк из двух или более таблиц на основе связанного между ними столбца используется оператор JOIN. Он используется для объединения двух таблиц или получения данных оттуда. В SQL есть 4 типа соединения, а именно:
• Inner Join (Внутреннее соединение)
• Right Join (Правое соединение)
• Left Join (Левое соединение)
• Full Join (Полное соединение)
👍19
#Вопросы_с_собеседования

Чем VARCHAR отличается от NVARCHAR?

Главное отличие в том, что VARCHAR хранит значения в формате ASCII, где символ занимает один байт, а NVARCHAR хранит значения в формате Unicode, где символ «весит» 2 байта. Тип VARCHAR следует использовать, если вы уверены, что в значениях не будет Unicode-символов. Например, VARCHAR можно применить к адресам электронной почты, состоящих из ASCII-символов.
👍16
Многострочные комментарии

Многострочные комментарии начинаются с / * и заканчиваются на * /. Любой текст между / * и * / будет проигнорирован. В следующем примере в качестве объяснения используется многострочный комментарий.
👍15
Небольшая шпаргалка по SQL
👍101🔥1
sql_cheat_sheet.jpg
564.2 KB
Версия в хорошем качестве
👍13🔥2
#Вопросы_с_собеседования

Как работают подстановочные знаки?

Это специальные символы, которые нужны для замены каких-либо знаков в запросе. Они используются вместе с оператором LIKE, с помощью которого можно отфильтровать запрашиваемые данные.
👍14
Функция CEILING

Функция CEILING() возвращает наименьшее целочисленное значение, которое больше или равно числу.

Синтаксис:
CEILING(number).
👍14
#Вопросы_с_собеседования

Как бы вы нашли вторую по величине зарплату в этой таблице(пост ниже)?

Ответ на картинке.
👍14
👍13
#Вопросы_с_собеседования

Выберите только уникальные имена

SELECT DISTINCT возвращает разные значения, даже если в выбранном столбце есть дубли.
👍13
Сработает ли данный запрос?

Ответ:
Запрос не отработает. Конструкция HAVING не может использоваться при удалении строк. Она используется только при операции SELECT и чаще всего вместе с группировкой строк (GROUP BY). Эта задачка рассчитана на новичков. Опытный SQLщик сразу ответит на вопрос.
👍30
Сработает ли данный запрос?

Ответ:
Вопрос нацелен на то, чтобы сбить с толку кандидата. На практике при операции join в большинстве случаев выполняется жесткое сопоставление одного поля в одной таблице с другим полем во второй. Например, t.field1 = tt.field1. В данном же случае запрос отработает.

В этом примере выполняется сначала декартово произведение всех строк одной таблице со всем строками другой и затем применяется условие, что tt.field1 = 1. Такое написание допустимо, хотя и редко где применяется. Неопытные data-инженеры часто впадают в ступор на этой задаче.
👍26
Функция MAKEDATE()

Функция MAKEDATE() создает и возвращает дату на основе значения года и количества дней.

Синтаксис:
MAKEDATE(year, day).
👍13
Сработает ли данный запрос?

Ответ:
Здесь всё очень просто. При вставке строчек в таблицу количество полей при объявлении не соответствует количеству вставляемых значений в конструкции values. Это должен знать даже начинающий SQL-разработчик.
👍19
LIMIT

При помощи LIMIT можно указать максимальное число строк, которые должны попасть в результат.

Это бывает полезно при работе с большими наборами данных. Если данных много, запрос может обрабатываться слишком долго. Но когда будет достигнут лимит результатов, обработка прекратится.
👍19
#Вопросы_с_собеседования

Что такое AUTO_INCREMENT?

AUTO_INCREMENT используется в SQL для автоматической генерации уникального номера при каждом добавлении записи в таблицу.

Поскольку первичный ключ уникален для каждой записи, мы добавляем это поле в качестве AUTO_INCREMENT поля, таким образом при каждой вставке новой записи номер будет увеличиваться автоматически.

По умолчанию значение AUTO-INCREMENT начинается с 1 и увеличивается на 1 при каждом добавлении новой записи.
👍17😱1
Функция DATE_FORMAT()

Функция DATE_FORMAT() форматирует указанную дату.

Синтаксис:
DATE_FORMAT(date, format).

Подробнее ознакомиться можно здесь.
👍11
#Вопросы_с_собеседования

Напишите SQL-запрос, с применением UNION ALL (не UNION), использующий WHERE для устранения дубликатов.

Ключевое место – AND a!=X. Это дает вам все плюшки UNION DISTINCT, избегая при этом просадки производительности.
👍12