Присоединение таблиц
В сложных базах данных чаще всего у нас есть несколько связанных таблиц. К примеру, у нас есть две таблицы: про видеоигры и про разработчиков.
В таблице video_games есть столбец developer_id, в данном случае он является так называемым foreign_key. Чтобы было проще понять, developer_id - это связывающее звено между двумя таблицами.
Если мы хотим вывести всю информацию об игре, включая информацию о её разработчике, нам необходимо подключить вторую таблицу. Чтобы это сделать, можно использовать INNER JOIN.
В сложных базах данных чаще всего у нас есть несколько связанных таблиц. К примеру, у нас есть две таблицы: про видеоигры и про разработчиков.
В таблице video_games есть столбец developer_id, в данном случае он является так называемым foreign_key. Чтобы было проще понять, developer_id - это связывающее звено между двумя таблицами.
Если мы хотим вывести всю информацию об игре, включая информацию о её разработчике, нам необходимо подключить вторую таблицу. Чтобы это сделать, можно использовать INNER JOIN.
👍32
Update
Зачастую нам нужно изменить данные в таблице. В SQL это делается с помощью UPDATE.
Использование UPDATE включает в себя:
• выбор таблицы, в которой находится поле, которое мы хотим изменить
• запись нового значения
• использование WHERE, чтобы обозначить конкретное место в таблице
Предположим, у нас есть таблица с самыми высокооценёнными сериалами всех времён. Однако у нас есть проблема: «Игра Престолов» обозначена как комедия и нам определённо нужно это изменить.
Зачастую нам нужно изменить данные в таблице. В SQL это делается с помощью UPDATE.
Использование UPDATE включает в себя:
• выбор таблицы, в которой находится поле, которое мы хотим изменить
• запись нового значения
• использование WHERE, чтобы обозначить конкретное место в таблице
Предположим, у нас есть таблица с самыми высокооценёнными сериалами всех времён. Однако у нас есть проблема: «Игра Престолов» обозначена как комедия и нам определённо нужно это изменить.
👍23
Псевдонимы
Если вы взгляните на предыдущий пример, то вы заметите, что есть два столбца, названных одинаково: "name". Часто это может запутать. Решением данной проблемы являются псевдонимы. Они, к слову, помогают сделать название столбца красивее или понятнее в случае необходимости.
Чтобы присвоить столбцу псевдоним, можно использовать ключевое слово AS.
Если вы взгляните на предыдущий пример, то вы заметите, что есть два столбца, названных одинаково: "name". Часто это может запутать. Решением данной проблемы являются псевдонимы. Они, к слову, помогают сделать название столбца красивее или понятнее в случае необходимости.
Чтобы присвоить столбцу псевдоним, можно использовать ключевое слово AS.
🔥14👍6😱3
In/Between/Like
Условия в WHERE могут быть записаны с использованием ещё нескольких команд, которыми являются:
• IN - сравнивает значение в столбце с несколькими возможными значениями и возвращает true, если значение совпадает хотя бы с одним значением
• BETWEEN - проверяет, находится ли значение в каком-то промежутке
• LIKE - ищет по шаблону
К примеру, мы можем сделать запрос для вывода данных об альбомах в жанре pop или soul(1 строчка на картинке)
Если мы хотим вывести все альбомы, которые были выпущены в промежутке между 1975 и 1985 годом, мы можем использовать следующую запись(2 строчка на картинке)
Также, если мы хотим вывести все альбомы, в названии которых есть буква 'R', мы можем использовать следующую запись(3 строчка на картинке)
Знак % означает любую последовательность символов (0 символов тоже считается за последовательность).
Если мы хотим вывести все альбомы, первая буква в названии которых - 'R', то запись слегка изменится(4 строчка на картинке)
Условия в WHERE могут быть записаны с использованием ещё нескольких команд, которыми являются:
• IN - сравнивает значение в столбце с несколькими возможными значениями и возвращает true, если значение совпадает хотя бы с одним значением
• BETWEEN - проверяет, находится ли значение в каком-то промежутке
• LIKE - ищет по шаблону
К примеру, мы можем сделать запрос для вывода данных об альбомах в жанре pop или soul(1 строчка на картинке)
Если мы хотим вывести все альбомы, которые были выпущены в промежутке между 1975 и 1985 годом, мы можем использовать следующую запись(2 строчка на картинке)
Также, если мы хотим вывести все альбомы, в названии которых есть буква 'R', мы можем использовать следующую запись(3 строчка на картинке)
Знак % означает любую последовательность символов (0 символов тоже считается за последовательность).
Если мы хотим вывести все альбомы, первая буква в названии которых - 'R', то запись слегка изменится(4 строчка на картинке)
👍27
#Вопросы_с_собеседования
Предположим, есть две таблицы Emp (ID, name, DeptId), Dept(ID, name).
В таблице Emp 10 записей, а в Dept – 5.
Сколько строк будет отображаться в результате следующего SQL-запроса(см картинку)?
Ответ: Запрос выведет 50 строк, т. к. тут перекрестное объединение, являющееся значением по умолчанию, когда условие WHERE, отсутствует.
Предположим, есть две таблицы Emp (ID, name, DeptId), Dept(ID, name).
В таблице Emp 10 записей, а в Dept – 5.
Сколько строк будет отображаться в результате следующего SQL-запроса(см картинку)?
Ответ: Запрос выведет 50 строк, т. к. тут перекрестное объединение, являющееся значением по умолчанию, когда условие WHERE, отсутствует.
👍25🤯21🔥1
Агрегатные функции
Это не совсем основные команды SQL, однако знать их тоже желательно. Агрегатные функции используются для получения совокупного результата, относящегося к рассматриваемым данным:
• COUNT(col_name) — возвращает количество строк;
• SUM(col_name) — возвращает сумму значений в данном столбце;
• AVG(col_name) — возвращает среднее значение данного столбца;
• MIN(col_name) — возвращает наименьшее значение данного столбца;
• MAX(col_name) — возвращает наибольшее значение данного столбца.
Это не совсем основные команды SQL, однако знать их тоже желательно. Агрегатные функции используются для получения совокупного результата, относящегося к рассматриваемым данным:
• COUNT(col_name) — возвращает количество строк;
• SUM(col_name) — возвращает сумму значений в данном столбце;
• AVG(col_name) — возвращает среднее значение данного столбца;
• MIN(col_name) — возвращает наименьшее значение данного столбца;
• MAX(col_name) — возвращает наибольшее значение данного столбца.
👍20🤔2
SUBSTRING
Функция SUBSTRING вырезает и возвращает заданное количество символов из строки.
Первым параметром функция принимает поле или строку, вторым параметром - с какой позиции начинать вырезания (нумерация символов начинается с 1), третьем параметром - сколько символов брать.
Третий параметр не является обязательным. Если он не указан, текст будет вырезан с указанной позиции и до конца строки.
Функция SUBSTRING вырезает и возвращает заданное количество символов из строки.
Первым параметром функция принимает поле или строку, вторым параметром - с какой позиции начинать вырезания (нумерация символов начинается с 1), третьем параметром - сколько символов брать.
Третий параметр не является обязательным. Если он не указан, текст будет вырезан с указанной позиции и до конца строки.
👍18
LIKE
Оператор LIKE используется в WHERE, чтобы задать шаблон поиска похожего значения.
Есть два свободных оператора, которые используются в LIKE:
• % (ни одного, один или несколько символов);
• _ (один символ).
Рассмотрим пример
Выведем список курсов, в имени которых содержится «to», и список курсов, название которых начинается с «CS-».
Оператор LIKE используется в WHERE, чтобы задать шаблон поиска похожего значения.
Есть два свободных оператора, которые используются в LIKE:
• % (ни одного, один или несколько символов);
• _ (один символ).
Рассмотрим пример
Выведем список курсов, в имени которых содержится «to», и список курсов, название которых начинается с «CS-».
👍14
На картинках представлены дополненные данные, по которым в дальнейшем, мы будем решать различные задачи.
👍20❤1