Контакты

Примеры SQL запросов к базе данных MySQL. Язык запросов SQL Готовые sql запросы

Приветствую вас на моем блоге сайт. Сегодня поговорим про sql запросы для начинающих. У некоторых вебмастеров может возникнуть вопрос. Зачем изучать sql? Разве нельзя обойтись ?

Оказывается, что для создания профессионального интернет-проекта этого будет недостаточно. Sql используется чтобы работать с БД и создания приложений для Вордпресс. Рассмотрим, как использовать запросы подробнее.

Что это такое

Sql - язык структурированных запросов. Создан для определения типа данных, предоставления доступа к ним и обработке информации за короткие промежутки времени. Он описывает компоненты или какие-то результаты, которые вы хотите видеть на интернет-проекте.

Если говорить по-простому, то этот язык программирования позволяет добавлять, изменять, искать и отображать информацию в БД. Популярность mysql связана с тем, что он используется для создания динамических интернет-проектов, основа которых составляет база данных. Поэтому для разработки функционального блога вам необходимо выучить этот язык.

Что может делать

Язык sql позволяет:

  • создавать таблицы;
  • изменять получать и хранить разные данные;
  • объединять информацию в блоки;
  • защитить данные;
  • создавать запросы в access.

Важно! Разобравшись с sql вы сможете писать приложения для Вордпресс любой сложности.

Какая структура

БД состоит из таблиц, которые можно представить в виде Эксель файла.

У нее имеется имя, колонки и ряд с какой-то информацией. Создавать подобные таблицы можно при помощи sql запросов.

Что нужно знать


Основные моменты при изучении Sql

Как уже отмечалось выше, запросы применяются для обработки и ввода новой информации в БД, состоящую из таблиц. Каждая ее строка - это отдельная запись. Итак, создадим БД. Для этого напишите команду:

Create database ‘bazaname’

В кавычках пишем имя БД на латинице. Старайтесь придумать для нее понятное имя. Не создавайте базу типа «111», «www» и тому подобное.

После создания БД устанавливаем :

SET NAMES ‘utf-8’

Это нужно чтобы контент на сайте правильно отображаться.

Теперь создаем таблицу:

CREATE TABLE ‘bazaname’ . ‘table’ (

id INT(8) NOT NULL AUTO_INCREMENT PRIMARY KEY,

log VARCHAR(10),

pass VARCHAR(10),

date DATE

Во второй строке мы прописали три атрибута. Посмотрим, что они означают:

  • Атрибут NOT NULL означает, что ячейка не будет пустой (поле обязательное для заполнения);
  • Значение AUTO_INCREMENT — автозаполнение;
  • PRIMARY KEY — первичный ключ.

Как добавить информацию

Чтобы заполнить поля созданной таблицы значениями, используется оператор INSERT. Пишем такие строки кода:

INSERT INTO ‘table’

(login , pass , date) VALUES

(‘Vasa’, ‘87654321’, ‘2017-06-21 18:38:44’);

В скобках указываем название столбцов, а в следующей - значения.

Важно! Соблюдайте последовательность названий и значений столбцов.

Как обновить информацию

Для этого используется команда UPDATE. Посмотрим, как изменить пароль для конкретного пользователя. Пишем такие строки кода:

UPDATE ‘table’ SET pass = ‘12345678’ WHERE id = ‘1’

Теперь поменяйте пароль ‘12345678’. Изменения происходят в строке с «id»=1. Если не писать команду WHERE - поменяются все строки, а не конкретная.

Рекомендую вам приобрести книгу «SQL для чайников ». С ее помощью вы сможете шаг за шагом профессионально работать с БД. Вся информация построена по принципу от простого к сложному, и будет хорошо восприниматься.

Как удалить запись

Если вы написали что-то не так, исправьте это при помощи команды DELETE. Работает так же, как и UPDATE. Пишем такой код:

DELETE FROM ‘table’ WHERE id = ‘1’

Выборка информации

Для извлечения значений из БД используется команда SELECT. Пишем такой код:

SELECT * FROM ‘table’ WHERE id = ‘1’

В данном примере в таблице выбираем все имеющиеся поля. Это происходит если прописать в команде звездочку «*». Если нужно выбрать какое-то выборочное значение пишем так:

SELECT log , pass FROM table WHERE id = ‘1’

Необходимо отметить, что умения работать с базами данных будет недостаточно. Для создания профессионального интернет-проекта придется научиться добавлять на страницы данные из БД. Для этого ознакомьтесь с языком веб-программирования php. В этом вам поможет классный курс Михаила Русакова .


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

Происходит при помощи запроса DROP. Для этого напишем такие строки:

DROP TABLE table;

Вывод записи из таблицы по определенному условию

Рассмотрим такой код:

SELECT id, countri, city FROM table WHERE people>150000000

Он отобразит записи стран где населения больше ста пятидесяти миллионов.

Объединение

Связать вместе несколько таблиц возможно используя Join. Как это работает посмотрите подробнее в этом видео:

PHP и MySQL

Еще раз хочу подчеркнуть, что запросы при создании интернет-проекта - это обычное дело. Чтобы их использовать в php-документах выполните такой алгоритм действий:

  • Соединяемся с БД при помощи команды mysql_connect();
  • Используя mysql_select_db() выбираем нужную БД;
  • Обрабатываем запрос при помощи mysql_fetch_array();
  • Закрываем соединение командой mysql_close().

Важно! Работать с БД не сложно. Главное - правильно написать запрос.

Начинающие вебмастера подумают. А что почитать по этой теме? Хотелось бы порекомендовать книгу Мартина Грабера «SQL для простых смертных ». Она написана так, что новичкам все будет понятно. Используйте ее в качестве настольной книги.

Но это теория. Как же обстоит дело на практике? В действительности интернет-проект нужно не только создать, но еще и вывести в ТОП Гугла и Яндекса. В этом вас поможет видеокурс «Создание и раскрутка сайта ».


Видео инструкция

Остались еще вопросы? Посмотрите подробнее онлайн видео.

Вывод

Итак, разобраться с написанием sql запросов не так трудно, как кажется, но сделать это нужно любому вебмастеру. В этом помогут видеокурсы, описанные выше. Подпишитесь на мою группу ВКонтакте чтобы первыми узнавать о появлении новой интересной информации.

Выборка данных из таблицы в SQL осуществляется с помощью следующей конструкции:
SELECT *|
[AS ] FROM [WHERE [AND ]]
[GROUP BY | [HAVING ]]
[ORDER BY [COLLATE ] ]

Раздел SELECT


Определить список выходных столбцов
Список выходных столбцов может быть указан несколькими способами:
. Указать символ *, обозначающий включение в результаты запроса всех колонок запроса в естественной последовательности.
. Перечислить в желательном порядке только нужные.
Пример: SELECT * FROM Customer

Включить вычисляемые столбцы
В качестве вычисляемых столбцов запроса могут выступать:
. Результаты простейших арифметических выражения (+, -, /, *_ или конкатенации строк (||).
. Результаты функций агрегирования COUNT(*)|{AVG|SUM|MAX|MIN|COUNT} ( )

Примечание : В SQL Server дополнительно можно использовать оператор % — модуль (целый остаток от деления).
Включить константы
В качестве столбцов могут выступать константы числового и символьного типов.

Примечание : SELECT DISTINCT ‘Для ‘, SNum, Comm*100, ‘%’, SName FROM SalesPeople

Переименовать выходные столбцы
Вычисляемым, а также любым другим столбцам, при желании, можно присвоить уникальное имя с помощью ключевого слова AS: AS

Примечание : В SQL SERVER дать новое имя столбцу можно с помощью оператора присвоения =

Указать принцип обработки дублей строк
DISTINCT – запрещает появление строк-дублей в выходном множестве. Его можно задавать один раз для оператора SELECT. На практика первоначально формируется выходное множество, упорядочивается, а затем из него удаляются повторяющиеся значения. Обычно это занимает много времени и не следует этим злоупотреблять.
ALL (действует по умолчанию) – обеспечивает включение в результаты запроса и повторяющихся значений

Включить агрегатные функции
Функции агрегирования (функции над множествами, статистические или базовые) предназначены для вычисления некоторых значений для заданного множества строк. Используются следующие агрегатные функции:
. AVG|SUM(|) – подсчитывает среднее значение | сумму от или, возможно без учета дублей, игнорируя NULL.
. MIN|MAX() – находит максимальное | минимальное значение.
. COUNT(*) – подсчитывает число строк во множестве с учетом NULL значений | значений в столбце, игнорируя NULL значения, возможно без дублей.

Примечания по использованию :
. Функции агрегирования нельзя вкладывать друг в друга.
. Из-за значений NULL выражение SUM(F1)-SUN(F2)Sum(F1-F2)
. Внутри функций агрегирования допустимы выражения AVG(Comm*100)
. Если в результате запроса не получено ни одной строки или все значения равны NULL, то функция COUNT возвращает 0, а другие – NULL.
. Функции AVG и SUM могут применяться только для числовых типов, данных в Interval, а остальные могут использоваться для любых типов данных.
. Функция COUNT возвращает целое число (типа Integer), а другие наследуют типы данных обрабатываемых значений, вследствие чего следует следить за точностью результата функции SUM (возможно переполнение) и масштабом функции AVG.

Примеры на агрегатные функции:

SELECT COUNT(*) FROM Customer
. SELECT COUNT(DISTINCT SNum) FROM Orders
. SELECT MAX(Amt+Binc) FROM Orders //Если Binc – дополнительное числовое поле в Orders
. SELECT AVG(Comm*100) FROM SalesPeople //Выражение внутри функции

Особенности промышленных серверов
В СУБД Oracle в разделе SELECT можно указывать дополнительные указания-подсказки (hints) (27 штук), влияющие на выбор типа оптимизатора запросов и его работу.
SELECT /*+ ALL_ROWS */ FROM Orders… //наилучшая производительность

В СУБД SQL Server :
] – задает количество или процент считываемых строк. При одинаковых последних значениях возможно считывание всех таких строк и общее число может быть больше указанного.

DECLARE @p AS Int
SELECT @p=10
SELECT TOP(@p) WITH TIES * FROM Orders

Раздел FROM

Этот раздел является обязательным и позволяет:
Указать имена исходных таблиц
В разделе FROM указываются имена таблиц и/или представлений, из которых будут извлекаться данные. Причем одна и та же таблица может несколько раз входить в этот раздел.
Примечание: В СУБД Oracle можно выбирать строки и из снимков (Snapshot).

Указать псевдонимы таблиц
Под псевдонимом таблицы понимается дополнительный, обычно краткий идентификатор, указываемый через пробел после имени таблицы/представления.
Пример: Customer C

Указать вариант внешнего объединения таблиц
Если в разделе FROM указано несколько таблиц, то все они неявно считаются внешними соединениями. В стандарте предусмотрены следующие основные виды соединений таблиц:

1) Перекрестное соединение
CROSS JOIN — определяются все возможные сочетания пар строк по одной для каждой строки каждой из объединяемых таблиц. Эквивалентно картезианскому соединению. Иногда называет декартовым произведением.

2) Естественное соединение
JOIN — определяются только те строки таблиц А и B, в которых значения столбцов одинаковы. Называют не совсем полноценным эквисоединением. Это автоматическое соединение по нескольким столбцам со всеми одинаковыми именами (join over).

3) Соединение объединением
UNION JOIN — определяются только те строки каждой из таблиц, для которых совпадения не были установлены. Столбцы из другой таблицы заполняются значениями NULL. Отметим, что соединение UNION и оператор UNIUN – это не одно и то же. Соединение противоположно соединению типа INNER.

4) Объединение посредством предиката
JOIN ON — фильтрует строки. Предикат может содержать подзапросы.

5) Объединение посредством имен столбцов
JOIN USING() – определяет соединение только по указанным столбцам, в то время как NATURAL – автоматически по всем одноименным.

Типы соединений

представляет собой один из аргументов: INNER |{LEFT|RIGHT|FULL}
. INNER – включает строки, в которых есть столбцы с совпадающими данными объединяемых таблиц. Используется по умолчанию.
. LEFT – включает все строки таблицы А (левая таблица) и все совпадающие значения из таблицы B. Столбцы несовпадающих строки заполняются NULL-значениями.
. RIGHT – включает все строки таблицы B (правая таблица) и все совпадающие значения таблицы А. обратный вариант для левого объединения.
. FULL – включает все строки обеих таблиц. Столбцы совпадающих строк заполнены реальными значениями, а несовпадающих строк – NULL-значениями.
. OUTER (внешний) – уточняющее слово, означающее, что несовпадающие строки из ведущей таблицы включаются вместе с совпадающими.

Примеры на внешнее объединение:

SELECT * FROM SalesPeople INNER JOIN Customer ON SalesPeople.City=Customer.City
. SELECT * FROM Customer LEFT OUTER JOIN SalesPeople ON SalesPeople.City=Customer.City
. SELECT * FROM Customer FULL OUTER JOIN SalesPeople ON SalesPeople.City=Customer.City

Картезианские соединения и самообъединения
. Если при включении нескольких таблиц не используются те или иные варианты соединения таблиц, то такие соединения называются картезианскими. Они используются для получения строк из двух различных таблиц. Тогда например, при соединении двух таблиц, каждая из которых содержит по 20 строк, итоговая таблица будет содержать 100 строк – каждая из строк одной таблицы с каждой из строк другой таблицы. SELECT * FROM Customer, Orders.
. Соединения одинаковых таблиц называют самообъединением (self-join).

Раздел WHERE

1. Создание внутренних соединений
Связь между таблицами осуществляют с помощью операторов сравнения, а в список выходных столбцов включают квалификационные имена для одноименных столбцов из исходных таблиц.

Основные виды соединений:
. Эквисоединения – это соединения таблиц, основанные на равенствах. Связь между таблицами по ключевым столбцам обеспечивает ссылочную целостность. Если при соединении используются первичный и внешний ключ то всегда существует отношение «один-ко-многим» (предок/потомок).

. Тэта-соединения – это такое соединение, когда в качестве оператора сравнения применяется неравенство (, >=, Примечания по SQL Server
В SQL Server левое, правое и полное соединение можно задать в разделе WHERE с помощью [*]=[*]. Фактически реализуется внешнее соединение, которое у других СУБД реализуется в разделе FROM.

Примеры внутренних соединений

SELECT C.CName, S.SName, S.City FROM SalesPeople S, Customer C WHERE S.City=C.City
SELECT SName, CName FROM SalesPeople, Customer WHERE SName

2. Фильтрация строк выходного множества
Раздел WHERE позволяет также определить, т.е. логическое условие, которое может быть либо истинным, либо ложным. Кроме того, одно или оба сравниваемых значения в предикате могут быть равны NULL, тогда результат сравнения может быть равен UNKNOWN. Оператор SELECT извлекает только те строки из таблиц, для которых имеет значение TRUE, исключая строки, для которых он равен FALSE или UNKNOWN.

SQL - Урок 4. Выборка данных - оператор SELECT

Итак, в нашей БД forum есть три таблицы: users (пользователи), topics (темы) и posts (сообщения). И мы хотим посмотреть, какие данные в них содержатся. Для этого в SQL существует оператор SELECT . Синтаксис его использования следующий:

SELECT что_выбрать FROM откуда_выбрать;


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

Давайте сначала посмотрим все столбцы из таблицы users:

SELECT * FROM users;

Вот и все наши данные, которые мы вносили в эту таблицу. Но предположим, что мы хотим посмотреть только столбец id_user (например, в прошлом уроке, нам надо было для заполнения таблицы topics (темы) знать, какие id_user есть в таблице users). Для этого в запросе мы укажем имя этого столбца:

SELECT id_user FROM users;

Ну, а если мы захотим посмотреть, например, имена и e-mail наших пользователей, то мы перечислим интересующие столбцы через запятую:

SELECT name, email FROM users;

Аналогично, вы можете посмотреть, какие данные содержат и другие наши таблицы. Давайте посмотрим, какие у нас существуют темы:

SELECT * FROM topics;

Сейчас у нас всего 4 темы, а если их будет 100? Хотелось бы, чтобы они выводились, например, по алфавиту. Для этого в SQL существует ключевое слово ORDER BY после которого указывается имя столбца по которому будет происходить сортировка. Синтаксис следующий:

SELECT имя_столбца FROM имя_таблицы ORDER BY имя_столбца_сортировки;



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

Теперь наши данные отсортированы в порядке по убыванию.

Сортировку можно производить сразу по нескольким столбцам. Например, следующий запрос отсортирует данные по столбцу topic_name, и если в этом столбце будет несколько одинаковых строк, то в столбце id_author будет осуществлена сортировка по убыванию:

Сравните результат с результатом предыдущего запроса.

Очень часто нам не нужна вся информация из таблицы. Например, мы хотим узнать, какие темы были созданы пользователем sveta (id=4). Для этого в SQL есть ключевое слово WHERE , синтаксис у такого запроса следующий:

Для нашего примера условием является идентификатор пользователя, т.е. нам нужны только те строки, в столбце id_author которых стоит 4 (идентификатор пользователя sveta):

Или мы хотим узнать, кто создал тему "велосипеды":

Конечно, было бы удобнее, чтобы вместо id автора, выводилось его имя, но имена хранятся в другой таблице. В последующих уроках мы узнаем, как выбирать данные из нескольких таблиц. А пока узнаем, какие условия можно задавать, используя ключевое слово WHERE.

Оператор Описание
= (равно) Отбираются значения равные указанному

Пример:

SELECT * FROM topics WHERE id_author=4;

Результат:

> (больше) Отбираются значения больше указанного

Пример:

SELECT * FROM topics WHERE id_author>2;

Результат:

< (меньше) Отбираются значения меньше указанного

Пример:

SELECT * FROM topics WHERE id_author
Результат:

>= (больше или равно) Отбираются значения большие и равные указанному

Пример:

SELECT * FROM topics WHERE id_author>=2;

Результат:

<= (меньше или равно) Отбираются значения меньшие и равные указанному

Пример:

SELECT * FROM topics WHERE id_author
Результат:

!= (не равно) Отбираются значения не равные указанному

Пример:

SELECT * FROM topics WHERE id_author!=1;

Результат:

IS NOT NULL Отбираются строки, имеющие значения в указанном поле

Пример:

SELECT * FROM topics WHERE id_author IS NOT NULL;

Результат:

IS NULL Отбираются строки, не имеющие значения в указанном поле

Пример:

SELECT * FROM topics WHERE id_author IS NULL;

Результат:

Empty set - нет таких строк.

BETWEEN (между) Отбираются значения, находящиеся между указанными

Пример:

SELECT * FROM topics WHERE id_author BETWEEN 1 AND 3;

Результат:

IN (значение содержится) Отбираются значения, соответствующие указанным

Пример:

SELECT * FROM topics WHERE id_author IN (1, 4);

Результат:

NOT IN (значение не содержится) Отбираются значения, кроме указанных

Пример:

SELECT * FROM topics WHERE id_author NOT IN (1, 4);

Результат:

LIKE (соответствие) Отбираются значения, соответствующие образцу

Пример:

SELECT * FROM topics WHERE topic_name LIKE "вел%";

Результат:

Возможные метасимволы оператора LIKE будут рассмотрены ниже.

NOT LIKE (не соответствие) Отбираются значения, не соответствующие образцу

Пример:

SELECT * FROM topics WHERE topic_name NOT LIKE "вел%";

Результат:

Метасимволы оператора LIKE

Поиск с использованием метасимволов может осуществляться только в текстовых полях.

Самый распространенный метасимвол - % . Он означает любые символы. Например, если нам надо найти слова, начинающиеся с букв "вел", то мы напишем LIKE "вел%", а если мы хотим найти слова, которые содержат символы "клуб", то мы напишем LIKE "%клуб%". Например:

Еще один часто используемый метасимвол - _ . В отличие от %, который обозначает несколько или ни одного символа, нижнее подчеркивание обозначает ровно один символ. Например:

Обратите внимание на пробел между метасимволом и "рыб", если его пропустить, то запрос не сработает, т.к. метасимвол _ обозначает ровно один символ, а пробел - это тоже символ.

На сегодня достаточно. В следующем уроке мы научимся составлять запросы к двум и более таблицам. А пока попробуйте самостоятельно составить запросы к таблице posts (сообщения).

Итак, в БД forum есть три таблицы:

· users (пользователи);

· topics (темы);

· posts (сообщения).

Необходимо посмотреть, какие данные в них содержатся. Для этого в SQL существует оператор SELECT . Синтаксис его использования следующий:

SELECT что_выбрать FROM откуда_выбрать;

Вместо «что_выбрать» необходимо указать либо имя столбца, значения которого хотим увидеть, либо имена нескольких столбцов через запятую, либо символ звездочки (*), означающий выбор всех столбцов таблицы. Вместо «откуда_выбрать» следует указать имя таблицы.

Сначала посмотрим все столбцы из таблицы users:

SELECT * FROM users;

Это все данные, которые были внесены в таблицу.

Предположим, что необходимо посмотреть только столбец id_user (так как для заполнения таблицы topics (темы) надо знать, какие id_user есть в таблице users). Для этого в запросе укажем имя этого столбца:

SELECT id_user FROM users;

Если необходимо посмотреть, например, имена и e-mail пользователей, то надо перечислить интересующие столбцы через запятую:

SELECT name, email FROM users;

Аналогично, можно посмотреть, какие данные содержат и другие таблицы.

Сначала посмотрим, какие существуют темы:

SELECT * FROM topics;

Сейчас в таблице всего 4 темы, а если их будет 100? Хотелось бы, чтобы они выводились, например, по алфавиту. Для этого в SQL существует ключевое слово ORDER BY , после которого указывается имя столбца, по которому будет происходить сортировка. Синтаксис следующий:

SELECT имя_столбца FROM имя_таблицы ORDER BY имя_столбца_сортировки;

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

Теперь данные отсортированы в порядке по убыванию.

Сортировку можно производить сразу по нескольким столбцам. Например, следующий запрос отсортирует данные по столбцу topic_name, и если в этом столбце будет несколько одинаковых строк, то в столбце id_author будет осуществлена сортировка по убыванию:

Сравните результат с результатом предыдущего запроса.

Очень часто пользователю не нужна вся информация из таблицы. Например, необходимо узнать, какие темы были созданы пользователем sveta (id = 4). Для этого в SQL есть ключевое слово WHERE , синтаксис у такого запроса следующий:

SELECT имя_столбца FROM имя_таблицы WHERE условие;

Для нашего примера условием является идентификатор пользователя, т.е. нужны только те строки, в столбце id_author которых стоит 4 (идентификатор пользователя sveta):

SELECT * FROM topics WHERE id_author=4;

Теперь необходимо узнать, кто создал тему «велосипеды»:

Конечно, было бы удобнее, чтобы вместо id автора, выводилось его имя, но имена хранятся в другой таблице. Далее рассмотрим, как выбирать данные из нескольких таблиц. А пока узнаем, какие условия можно задавать, используя ключевое слово WHERE.

Оператор Описание
= (равно) Отбираются значения равные указанному. Пример: SELECT * FROM topics WHERE id_author=4; Результат:
> (больше) Отбираются значения больше указанного. Пример: SELECT * FROM topics WHERE id_author > 2; Результат:
< (меньше) Отбираются значения меньше указанного. Пример: SELECT * FROM topics WHERE id_author < 3; Результат:
>= (больше или равно) Отбираются значения большие и равные указанному. Пример: SELECT * FROM topics WHERE id_author >= 2; Результат:
<= (меньше или равно) Отбираются значения меньшие и равные указанному. Пример: SELECT * FROM topics WHERE id_author <= 3; Результат:
!= (не равно) Отбираются значения не равные указанному. Пример: SELECT * FROM topics WHERE id_author != 1; Результат:
IS NOT NULL Отбираются строки, имеющие значения в указанном поле. Пример: SELECT * FROM topics WHERE id_author IS NOT NULL; Результат:
IS NULL Отбираются строки, не имеющие значения в указанном поле. Пример: SELECT * FROM topics WHERE id_author IS NULL; Результат:
Empty set – нет таких строк.
BETWEEN (между) Отбираются значения, находящиеся между указанными. Пример: SELECT * FROM topics WHERE id_author BETWEEN 1 AND 3; Результат:
IN (значение содержится) Отбираются значения, соответствующие указанным. Пример: SELECT * FROM topics WHERE id_author IN (1, 4); Результат:
NOT IN (значение не содержится) Отбираются значения, кроме указанных. Пример: SELECT * FROM topics WHERE id_author NOT IN (1, 4); Результат:
LIKE (соответствие) Отбираются значения, соответствующие образцу. Пример: SELECT * FROM topics WHERE topic_name LIKE "вел%"; Результат:
Возможные метасимволы оператора LIKE будут рассмотрены ниже.
NOT LIKE (не соответствие) Отбираются значения, не соответствующие образцу. Пример: SELECT * FROM topics WHERE topic_name NOT LIKE "вел%"; Результат:

Практическая работа №9

Тема занятия: Создание запросов SQL.

Цель занятия : Научиться использовать язык SQL для создания запросов.

План занятия :

1. Создание SQL запросов на выборку.

2. Создание SQL запросов на выборку с условием отбора.

3. Создание SQL запросов с вычислением.

4. Создание SQL запросов на группировку.

SQL ( Structured Query Language) – структурированный язык запросов, предоставляющий средства создания и обработки данных в БД.

Для того чтобы, создать запрос с использованием средств языка SQL необходимо выполнить следующие действия:

    Создать запрос с помощью конструктора.

· В конструкторе запросов щелкнете правой кнопкой мыши в области отображения таблиц и в контекстном меню выберите «Режим SQL».

1. Создание SQL запросов на выборку.

Создадим простейший запрос на выборку товаров и заказов на эти товары с помощью SQL.

· Откройте редактор SQL запросов.

· В окно редактора впишите следующую процедуру запроса

SELECT Заказы.[Код заказа], Товары.[Наименование товара], Заказы. Количество, Товары. Цена, Товары.[Еденица измерения], Заказы.[Дата заказа]

FROM Товары INNER JOIN Заказы ON Товары.[Код товара] = Заказы. Товар;

· Сохраните запрос под именем выборка SQL.

· Проверьте правильность работы запроса.

Разберем синтаксис данной операции:

SELECT – оператор который сообщает базе данных, что данная операция является запросам (практически все запросы начинаются с этого слова). После оператора SELECT обычно начинается перечисление тех полей, которые будут включены в запрос. Например запись SELECT Заказы.[Код заказа] будет означать что в запрос будет включено поле Код заказа из таблицы «Заказы». В случае если имя поля содержит пробелы его необходимо указывать в квадратных скобках .

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

INNER JOIN - Объединяет записи из двух таблиц, если связующие поля этих таблиц содержат одинаковые значения. Например запись «FROM Товары INNER JOIN Заказы ON Товары.[Код товара] = Заказы. Товар» означает, что в данной процедуре запроса поле Код товара Из таблицы «Товары» является источником записи для поля Товар таблицы «Заказы»

Задание: Создайте SQL запрос позволяющий вывести сведения о клиентах купивших товар.

2. Создание SQL запросов на выборку с условием отбора.

С помощью языка SQL создадим запрос позволяющий вывести сведения о сотрудниках продавших товар количеством больше 3.

Для создания запросов с условием отбора используется оператор WHERE.

· Создайте SQL запрос на выборку содержащий такие поля: Фамилия, Имя, Отчество Сотрудника, Код заказа Который тот обслужить, Количество. Проверьте правильностьего работы.

· Теперь необходимо добавить условие отбора. Откройте редактор SQL и в конец продцедуры запроса добавьте «WHERE (((Заказы. Количество)>3))».

· Сохраните запрос под именем «Выборка с условием отбора SQL». Проверьте работу запроса.

Задание: Создайте SQL запрос отбирающий все товары цена на которые не прекращена и цена не превышает 20 денежных едениц.

3. Создание SQL запросов с вычислением.

Создадим SQL запрос позволяющий вывести Фамилию клиента, Наименование товара, сумму заказа (цена*количество).

Продцедура запроса выглядит так:

SELECT Клиенты. Фамилия, Товары.[Наименование товара], Заказы! Количество*Товары! Цена AS [Сумма заказа]

FROM Товары INNER JOIN (Клиенты INNER JOIN Заказы ON Клиенты.[Код клиента]=Заказы. Клиент) ON Товары.[Код товара]=Заказы. Товар;

4. Создание SQL запросов на группировку.

Создадим запрос который позволит определить на какую сумму всего было заказанно товаров каждым клиентом.

Для группировки записей используется оператор GROUP BY.

Продцедура запроса выглядит следующим образом:

SELECT Клиенты. Фамилия, Sum(Заказы! Количество*Товары! Цена) AS [Сумма заказов]

FROM Товары INNER JOIN (Клиенты INNER JOIN Заказы ON Клиенты.[Код клиента] = Заказы. Клиент) ON Товары.[Код товара] = Заказы. Товар

GROUP BY Клиенты. Фамилия;

Контрольные вопросы:

1. Что такое SQL?

2. Как создать SQL запрос?

3. Структурные составляющие языка SQL.

4. Перечислите основные операторы языка SQL.

5. Общие сведения об операторах SELECT, WHERE, FROM, INNER JOIN, GROUP BY.

Задание для успевающих: Попытайтесь самостоятельно создать SQL запрос позволяющий удалять все записи из таблицы «Товары» цена на которые меньше 3 денежных едениц

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



Понравилась статья? Поделитесь ей