Изучаем SQL за 20 минут [ Часть вторая ]

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

Функции

Функции в SQL играют не мало важную роль, и вот некоторые из них:

  • COUNT() — возвращает количество строк
  • SUM() — возвращает общую сумму числового столбца
  • AVG() — возвращает среднее значение из набора значений
  • MIN() / MAX() — получает минимальное / максимальное значение из колонки

Вложенные таблицы

В предыдущем пункте мы узнали, как сделать простые вычисления с данными. Если мы действительно хотим использовать результат этих вычислений, чаще всего вложенного запроса. Допустим мы хотим получить имя исполнителя, альбом и год выпуска для самого старого альбома в таблице.

Мы знаем, как получить эти конкретные столбцы:

Мы также знаем, как получить самый ранний год:

Альбомы

artist album released genre sales_in_millions
Michael Jackson Thriller 1982 pop 70
AC/DC Back in Black 1980 rock 50
Pink Floyd The Dark Side of the Moon 1973 rock 45
Whitney Houston The Bodyguard 1992 soul 44

Объединение таблиц

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

В таблице video_games есть колонка developer_id ( разработчик ), но она содержит целое число , а не имя разработчика. Это число представляет собой идентификатор соответствующего разработчика из таблицы game_developers, связывая логически два листа, что позволяет нам использовать информацию , хранящуюся в них обоих одновременно.

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

video_games

id name developer_id genre
1 Super Mario Bros. 2 platformer
2 World of Warcraft 1 MMORPG
3 The Legend of Zelda 2 adventure

game_developers

id name country
1 Blizzard USA
2 Nintendo Japan
Это самый простой и наиболее распространенный тип JOIN .

Аллиасы

Если вы посмотрите на предыдущий пример вы заметите , что есть два столбца с именем name. Это сбивает с толку, так что давайте изменим его, установив аллиас одного из повторяющихся столбцов: название от game_developers появится в качестве разработчика.

Мы также можем сократить запрос радикально, установив аллиасы имен таблиц: video_games становится games и game_developers становится devs.

video_games

id name developer_id genre
1 Super Mario Bros. 2 platformer
2 World of Warcraft 1 MMORPG
3 The Legend of Zelda 2 adventure

game_developers

id name country
1 Blizzard USA
2 Nintendo Japan

Обновление

Часто приходится изменять данные в некоторых из строк. В SQL это делается с помощью UPDATE.

Использование UPDATE состоит из

  • Выбора таблицы, где находиться запись, которую мы хотим изменить.
  • Установка нового значения (ев) для разыскиваемого столбца (ов).
  • Выбор с WHERE , какие строки мы хотим обновить. Если опущено все строки в таблице изменятся.

Ниже приведена таблица высоким рейтингом одного из сериалов. Существует одна маленькая проблема, Game of Thrones ( игра престолов ) описывается как комедия, которой она явно не является. Давайте исправим это.

tv_series

id name genre still_running imdb_rating
1 Breaking Bad drama no 9.5
2 Game of Thrones comedy yes 9.5
3 Rick and Morty comedy yes 9.4
4 Sherlock mystery yes 9.3

Удаление строк

Процесс удаление строки из таблицы с помощью SQL довольно простой. Все, что необходимо, это выбрать правильную таблицу и строку которую хотим удалить.

tv_series

id name genre still_running imdb_rating
1 Breaking Bad drama no 9.5
2 Game of Thrones comedy yes 9.5
3 Rick and Morty comedy yes 9.4
4 Sherlock mystery yes 9.3
Важно: Всегда при написании DELETE запроса убедитесь , что к WHERE прилагается строка. Без него все строки таблицы будут удалены!

Удаление таблиц

Если мы хотим удалить все строки, но оставить саму таблицу, то лучше использовать TRUNCATE:

В случае, если мы действительно хотим, чтобы удалились все следы таблицы, что-бы то ни было, команда DROP входит в игру:

Будьте очень осторожны с этими командами. Там нет отмены!

Вывод

И на этом пока все smile Возможно будут еще новые статьи по теме SQL, ведь это такая масштабная вещь, которую полностью за 20 — 30 минут изучить нельзя. Но основы вполне возможно.

 

0

Автор публикации

Пользователи не найдены

/* Есть добрая традиция в Интернете – если понравился сайт, то благодарный посетитель -
- кликает, уходя, по рекламной ссылке... */


Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

десять − 4 =