sql команды. Select 'столбцы или для выбора всех столбцов обязательно' from 'таблица обязательно'
![]()
|
SELECT 'столбцы или * для выбора всех столбцов; обязательно' FROM 'таблица; обязательно' WHERE 'условие/фильтрация, например, city = 'Moscow'; необязательно' GROUP BY 'столбец, по которому хотим сгруппировать данные; необязательно' HAVING 'условие/фильтрация на уровне сгруппированных данных; необязательно' ORDER BY 'столбец, по которому хотим отсортировать вывод; необязательно'
Добавление записей в таблицу В таблицу, состоящую из двух столбцов добавим новую строку, при этом в поле1 заносится значение1, в поле2 - значение2. INSERT INTO таблица (поле1, поле2) VALUES (значение1, значение2); Пример: insert into book (title, author, price, amount) values ('Мастер и Маргарита','Булгаков М.А.',670.99,3) Выборка данных с созданием вычисляемого столбца Пример Вывести всю информацию о книгах, а также для каждой позиции посчитать ее стоимость (произведение цены на количество). Вычисляемому столбцу дать имя total . Запрос: SELECT title, author, price, amount, price * amount AS total FROM book; Выборка данных, вычисляемые столбцы, математические функции В SQL реализовано множество математических функций для работы с числовыми данными. В таблице приведены некоторые из них.
Вычисление налога (18%) и округление до 2х знаков после запятой ![]() Если нужно сделать уценку (на 30%): select title, author, amount, round(price-(price*30/100),2) as new_price from book; Выборка данных, вычисляемые столбцы, логические функции В SQL реализована возможность заносить в поле значение в зависимости от условия. Для этого используется функция IF: IF(логическое_выражение, выражение_1, выражение_2) Функция вычисляет логическое_выражение, если оно истина – в поле заносится значение выражения_1, в противном случае – значение выражения_2. Все три параметра IF() являются обязательными. Допускается использование вложенных функций, вместо выражения_1 или выражения_2 может стоять новая функция IF. ![]() ![]() ![]() Выборка данных, логические операции Логическое выражение после ключевого слова WHERE кроме операторов сравнения и выражений может включать логические операции (И «and», ИЛИ «or», НЕ «not») и круглые скобки, изменяющие приоритеты выполнения операций. Приоритеты операций: круглые скобки умножение (*), деление (/) сложение (+), вычитание (-) операторы сравнения (=, >, <, >=, <=, <>) NOT AND OR ![]() ![]() Выборка данных, операторы BETWEEN, IN Логическое выражение после ключевого слова WHERE может включать операторы BETWEEN и IN. Приоритет у этих операторов такой же как у операторов сравнения, то есть они выполняются раньше, чем NOT, AND, OR. Оператор BETWEEN позволяет отобрать данные, относящиеся к некоторому интервалу, включая его границы. ![]() ![]() ![]() Выборка данных с сортировкой При выборке можно указывать столбец или несколько столбцов, по которым необходимо отсортировать отобранные строки. Для этого используются ключевые слова ORDER BY, после которых задаются имена столбцов. При этом строки сортируются по первому столбцу, если указан второй столбец, сортировка осуществляется только для тех строк, у которых значения первого столбца одинаковы. По умолчанию ORDER BY выполняет сортировку по возрастанию. Чтобы управлять направлением сортировки вручную, после имени столбца указывается ключевое слово ASC (по возрастанию) или DESC (по убыванию). Столбцы после ключевого слова ORDER BY можно задавать: названием столбца; номером столбца; именем столбца (указанным после AS). ![]() ![]() Выборка данных, оператор LIKE ![]() ![]() ![]() Выбор уникальных элементов столбца ![]() Выборка данных, групповые функции SUM и COUNT ![]() ![]() ![]() Выборка данных, групповые функции MIN, MAX и AVG К групповым функциям SQL относятся: MIN(), MAX() и AVG(), которые вычисляют минимальное, максимальное и среднее значение элементов столбца, относящихся к группе. ![]() Выборка данных c вычислением, групповые функции ![]() ![]() Вычисления по таблице целиком Групповые функции позволяют вычислять итоговые значения по всей таблице. Например, можно посчитать общее количество книг на складе, вычислить суммарную стоимость и пр. Для этого после ключевого слова SELECT указывается групповая функция для выражения или имени столбца, а ключевые слова GROUP BY опускаются. ![]() ![]() Выборка данных по условию, групповые функции В запросы с групповыми функциями можно включать условие отбора строк, которое в обычных запросах записывается после WHERE. В запросах с групповыми функциями вместо WHERE используется ключевое слово HAVING, которое размещается после оператора GROUP BY. ![]() ![]() Выборка данных по условию, групповые функции, WHERE и HAVING WHERE и HAVING могут использоваться в одном запросе. При этом необходимо учитывать порядок выполнения SQL запроса на выборку на СЕРВЕРЕ: FROM WHERE GROUP BY HAVING SELECT ORDER BY Сначала определяется таблица, из которой выбираются данные (FROM), затем из этой таблицы отбираются записи в соответствии с условием WHERE, выбранные данные агрегируются (GROUP BY), из агрегированных записей выбираются те, которые удовлетворяют условию после HAVING. Потом формируются данные результирующей выборки, как это указано после SELECT (вычисляются выражения, присваиваются имена и пр.). Результирующая выборка сортируется, как указано после ORDER BY. Важно! Порядок ВЫПОЛНЕНИЯ запросов - это непорядок ЗАПИСИ ключевых слов в запросе на выборку. Порядок записи (синтаксис запроса) остается таким же, как рассматривался ранее в курсе. Порядок ВЫПОЛНЕНИЯ нужен для того, чтобы понять, почему, например, в WHERE нельзя использовать имена выражений из SELECT. Просто SELECT выполняется компилятором позже, чем WHERE, поэтому ему неизвестно, какое там выражение написано. ![]() ![]() Вложенный запрос, возвращающий одно значение ![]() ![]() Использование вложенного запроса в выражении ![]() ![]() Вложенный запрос, оператор IN ![]() ![]() Вложенный запрос, операторы ANY и ALL ![]() ![]() Вложенный запрос после SELECT - ![]() ![]() Добавление записей в таблицу ![]() Добавление записей из другой таблицы ![]() ![]() Добавление записей, вложенные запросы ![]() ![]() Запросы на обновление ![]() ![]() ![]() Запросы на обновление нескольких столбцов Запросом UPDATE можно обновлять значения нескольких столбцов одновременно. В этом случае простейший запрос будет выглядеть так: UPDATE таблица SET поле1 = выражение1, поле2 = выражение2 ![]() Запросы на обновление нескольких таблиц ![]() ![]() Запросы на удаление ![]() ![]() |