Освоение SQL
SQL - это важнейший инструмент для управления данными в современной технологической отрасли. Знакомство с базовыми концепциями SQL необходимо для работы с базами данных, а приобретение знаний в области передовых концепций может вывести ваши навыки на новый уровень. При правильном обучении и практике любой желающий может овладеть SQL и эффективно управлять данными.
Вступление
SQL (structured Query Language) - это специфичный для предметной области язык программирования для запросов и манипулирования данными в реляционной базе данных. Наиболее часто используемым языком для реализации реляционных запросов является SQL. Он может использоваться для выполнения определённых действий, таких как вставка, обновление, удаление, запрос и извлечение определённой информации. SQL широко используется в областях data analytics и data science.
Типы данных SQL
В нашем распоряжении имеется огромный объём данных, и было бы сложно их обрабатывать, если бы мы хранили их все в одном типе данных. В SQL существует множество типов данных для манипулирования и обработки различной
информацией.
База данных
База данных - это структурированный набор данных, который организован и хранится таким образом, чтобы обеспечить эффективный поиск и манипулирование ими. Они широко используются в различных областях применения, включая бизнес-операции, научные исследования, здравоохранение, образование и государственное управление.
Создание базы данных
Создание базы данных осуществляется следующим образом:
Изменение базы данных
Команда ALTER DATABASE используется для изменения структуры существующей базы данных. Эта команда используется для изменения или модификации существующей базы данных.
Удаление базы данных
Команда DROP DATABASE используется для удаления существующей базы данных. Когда вы удаляете базу данных, все таблицы, данные и другие объекты в ней удаляются безвозвратно.
Типы SQL-команд
Язык определения данных (DDL)
Команды языка определения данных используются для определения схемы базы данных. Команды DML используются для создания, изменения и удаления структур базы данных, но не данных.
Команды DDL:
⦁ CREATE: Эта команда используется для создания базы данных или её объектов, таких как таблица, индекс, функция, представления, процедура хранения и триггеры. Синтаксис запроса CREATE:
⦁ ALTER: Эта команда используется для изменения структуры базы данных. Она также используется для добавления и удаления различных ограничений в существующую таблицу. Синтаксис запроса ALTER:
⦁ DROP: Эта команда используется для удаления столбца из существующей таблицы. Синтаксис запроса DROP:
⦁ TRUNCATE: Эта команда используется для удаления всех записей из таблицы, включая удаление всех пробелов, выделенных для записей. TRUNCATE удаляет данные внутри данных, но не таблицу . Это быстрее, чем команда DELETE, поскольку она удаляет все строки за одну операцию, а не удаляет каждую строку по одной.
Синтаксис запроса TRUNCATE:
⦁ RENAME: Эта команда используется для переименования существующей таблицы или столбца. Синтаксис запроса RENAME:
Язык манипулирования данными (DML)
Команды языка манипулирования данными используются для внесения изменений в базу данных, таких как операция CRUD (создание, чтение, обновление и удаление).
Команды DML:
⦁ SELECT: SELECT используется для выбора данных из базы данных. Синтаксис запроса SELECT:
⦁ INSERT: Эта команда используется для вставки одной или нескольких строк данных в базу данных. Перед вставкой следует убедиться, что таблица уже создана. Синтаксис запроса INSERT:
⦁ UPDATE: Эта команда используется для обновления существующих данных в одну или несколько строк или столбцов с помощью UPDATE и WHERE. Синтаксис запроса UPDATE:
⦁ DELETE: Эта команда используется для удаления одной или нескольких существующих записей из таблиц базы данных. Синтаксис запроса DELETE:
⦁ WHERE: Используется для извлечения данных из базы данных, чтобы указать условие при извлечении из одной таблицы или путём объединения с несколькими таблицами. Синтаксис запроса WHERE:
⦁ORDER BY: Это ключевое слово используется для сортировки данных в порядке возрастания и убывания. Синтаксис запроса ORDER BY:
⦁ Ключевое слово DISTINCT: Эта команда используется для удаления повторяющихся значений. Синтаксис запроса DISTINCT :
Язык управления данными (DCL)
Язык управления данными - это язык запросов, который позволяет пользователям извлекать и редактировать данные, хранящиеся в базах данных.
Команды DCL
⦁ GRANT: Эта команда предоставляет пользователям привилегии доступа к базе данных. Синтаксис запроса INVOKE:
⦁ INVOKE: Эта команда лишает пользователя прав доступа, предоставленных с помощью команды GRANT. Синтаксис запроса INVOKE:
Язык запросов к данным (DQL)
Язык запросов данных - это группа команд, ответственных за запрос данных из базы данных. Это компонент SQL-инструкции, который позволяет получать данные из базы данных и наносить на них порядок. Когда выполняется выборка для таблицы или таблиц, результат компилируется в дополнительную временную таблицу, которая отображается или, возможно, принимается программой.
DQL включает в себя множество команд, таких как SELECT, FROM, WHERE, GROUP BY, HAVING и ORDER BY. Эти команды используются для указания того, какие данные следует извлекать, откуда их извлекать, как их фильтровать, как группировать и агрегировать, а также как сортировать.
Команды DQL
⦁ SELECT: используется для извлечения данных из базы данных. Синтаксис запроса SELECT:
⦁ GROUP BY : Используется для группировки результирующего набора (используется с агрегатными функциями: COUNT, MAX, MIN, SUM, AVG). Count используется для возврата количества строк, соответствующего указанному критерию. AVG используется для возврата среднего значения числового столбца. SUM используется для возврата общей суммы числового столбца. MAX используется для возврата наибольшего значения выбранного столбца. MIN используется для возврата наименьшего значения выбранного столбца.
Синтаксис запроса GROUP BY выглядит следующим образом:
⦁ COLUMN ALIASES: часто используется для того, чтобы сделать имена столбцов более удобочитаемыми. Эта команда существует только на время выполнения запроса. ALIASES создаётся с помощью ключевого слова AS. Синтаксис ALIASES:
⦁ HAVING: Эта команда была добавлено в SQL, поскольку ключевое слово WHERE нельзя использовать с агрегатными функциями.
⦁ BETWEEN , AND & OR: используется для выбора значений в пределах заданного диапазона. Значениями могут быть цифры, текст или даты.Синтаксис запроса WHERE:
⦁ IN & LIKE: Команда IN используется для разрешения нескольких значений в предложении WHERE. Синтаксис запроса IN:
Оператор LIKE используется в предложении WHERE для поиска указанного шаблона в столбце. Синтаксис запроса LIKE:
⦁ IS NULL: используется для поиска нулевых значений в определённом столбце. Синтаксис IS NULL:
⦁ TOP N: Используется для указания количества записей, которые требуется вернуть. Синтаксис запроса TOP N:
⦁ UNION : используется для объединения результатов двух или более операторов SELECT в единый результирующий набор без дубликатов. Синтаксис запроса UNION:
⦁ INTERSECT: используется для возврата только строк, которые являются общими для двух операторов SELECT, без дубликатов. Синтаксис запроса INTERSECT:
⦁ EXCEPT: Возвращает только строки, которые присутствуют в первом операторе SELECT, но отсутствуют втором операторе SELECT, без дубликатов. Синтаксис запроса EXCEPT:
JOINS
В SQL соединения используются для объединения строк из двух или более таблиц на основе связанного столбца между ними. В SQL доступно несколько типов соединений:
Inner join
Inner join вернёт только запись, в которой ключ находит совпадение в обеих таблицах.
Outer join
Ключевое слово Outer join возвращает все записи, если есть совпадение в записях таблицы слева (table1) или справа (table2).
Self join
Self join - это обычное соединение, где таблица соединяется сама с собой.
Cross join
Cross join возвращает все записи из обеих таблиц.
Right join
Ключевое слово Right Join возвращает все записи из правой таблицы и соответствующие записи из левой таблицы. Результатом будет 0 записей с левой стороны, если совпадений нет.
Left join
Ключевое слово Left Join возвращает все записи из левой таблицы (Table1) и соответствующие записи из правой таблицы (Table2). Результатом будет 0 записей с правой стороны, если совпадений нет.
Left anti-join
Одним из видов объединения, доступных в диалоговом окне слияния в Power Query, является Left anti-join, которое приводит только к строкам из левой таблицы, которым не соответствуют строки из правой таблицы.
Right anti-join
Одним из видов объединения, доступных в диалоговом окне слияния в Power Query, является Right anti-join, которое приводит только к строкам из правой таблицы, которым не соответствуют строки из левой таблицы.
Подзапросы
В SQL подзапрос - это SQL-запрос, вложенный внутри более крупного запроса. Подзапрос может выполняться с предложениями SELECT, WHERE и FROM. Подзапрос обычно добавляется в предложение WHERE другого оператора SQL SELECT. Подзапрос также называется внутренним запросом или inner select, в то время как оператор, содержащий подзапрос, называется внешним запросом или outer select.
Однострочный подзапрос
Запрос, который возвращает только одну строку данных, называется однострочным подзапросом.
Многострочный подзапрос
Многострочный подзапрос возвращает несколько строк данных. Мы можем использовать оператор IN во внешнем запросе для обработки подзапроса, который возвращает несколько строк.
Вложенные подзапросы:
Подзапрос может быть вложен в другие подзапросы. SQL сначала выполняет самый внутренний подзапрос, затем следующий уровень.
Коррелированный подзапрос
Ссылайтесь на один или несколько столбцов во внешней инструкции SQL. Этот запрос используется для обработки по строкам.
Представление
Представление - это виртуальная таблица, основанная на результате выполнения инструкции SELECT. Представление может использоваться для упрощения сложных запросов или для представления подмножества данных пользователям без раскрытия базовых таблиц.
Цель представлений
Цель представлений - предоставить конечным пользователям настраиваемое и упрощённое представление данных без необходимости знать базовую структуру данных. Представления, обеспечивающие уровень абстракции, защищают конфиденциальные данные или изменения схемы. Они также известны как виртуальные таблицы.
Типы представлений
Существует два типа представления :
⦁ Простое представление: Простое представление основано на одной таблице и выбирает все столбцы или подмножество столбцов из этой таблицы.
⦁ Комплексное представление: Комплексное представление основано на нескольких таблицах и включает одно или несколько соединений или подзапросов в инструкции SELECT.
Создание представления
Изменение представления
Удаление представления
Индексы
Индекс SQL - это структура данных, используемая системой управления базами данных для быстрого поиска и извлечения данных из таблицы.
Индекс работает подобно оглавлению книги, предоставляя список ключевых слов или фраз и соответствующие им номера страниц. Аналогичным образом, индекс SQL содержит список значений из одного или нескольких столбцов таблицы и их соответствующих местоположений в строках таблицы.
Кластеризованный индекс
Кластеризованный индекс используется для определения порядка, сортировки таблицы или упорядочивания данных в алфавитном порядке, подобно словарю. Он работает быстрее, чем некластеризованный индекс.
Некластеризованный индекс
Некластеризованный индекс собирает данные в одном месте и записывает в другом. Это медленнее медленнее, чем кластеризованный индекс. Для выполнения операций требуется больше памяти.
Создание индекса
Изменение индекса
Удаление индекса
Использование индекса
УСЛОВНЫЕ ОПЕРАТОРЫ (ЦИКЛЫ)
В SQL Server цикл - это метод, при котором набор инструкций SQL выполняется повторно до тех пор, пока не будет выполнено условие.
Цикл WHILE
SQL Server поддерживает цикл WHILE. Выполнением инструкций можно управлять из блока WHLE, используя ключевые слова BREAK и CONTINUE.
CASE
Оператор CASE в SQL позволяет выполнять условную логику в операторе SELECT, который может использоваться для преобразования данных или создания вычисляемых полей на основе определенных условий. Вот пример SQL-запроса, который использует оператор CASE:
Надеюсь, данная статья оказалась для вас полезной!
Статья была взята из этого источника: