| Введение |
SQL - это язык предназначенный для модификации и управления реляционными базами данных, а так же для создания запросов. С его помощью можно сделать выборку, сортировку и фильтрацию данных. Кроме того, операторы SQL позволяют добавлять, изменять и удалять записи из базы данных.
Чтобы Ваши приложения эффективно взаимодействовали с базой данных, Вы должны хорошо знать и понимать SQL. Правильно используя операторы SQL, Вы сможете возложить выполнение определенных операций на саму базу данных, позволит сделать Ваши приложения более эффективными, а так же, значительно уменьшить количество передаваемых данных между клиентом и уделенным сервером.
| Оператор SELECT |
Оператор SELECT возвращает информацию из базы данных в виде набора записей и состоит из трёх главных блоков, смотрите таблицу 1:
| SELECT | Сообщает базе данных какие поля должны быть запрошены |
| FROM | Определяет из каких таблиц будут возвращаться поля указанные в блоке SELECT |
| WHERE | Устанавливает критерии для выборки записей. |
Таблица 1
Минимальный код с оператором SELECT выглядит так:
SELECT поля FROM таблицы
Если выполнить этот код, то ядро базы данных ищет указанную таблицу и извлекает из неё заданные поля, выбирает строки, сортирует или группирует полученные записи в нужном порядке. Если Вам требуется получить все поля из таблицы, то используйте звездочку "*". Например следующий блок операторов вернёт все поля из таблицы Employees:
SELECT * FROM Employees
Но получать всё данные из таблицы требуется не так часто. Если добавить блок WHERE, то Вы сможете ограничиться получением только необходимых данных. В приведенном примере показано как ограничится получением записей в которых значения поля LastName равны Buchanan:
SELECT * FROM Employees WHERE LastName = 'Buchanan';
Обратите внимание на апострофы, в которые заключено слово Buchanan. При использование WHERE, апострофы требуются если необходимо сравнивать строкой. Как в нашем случае, LastName хранится в базе данных в виде строки. Но если Вам требуется получить численное значение, то апострофы не нужны:
SELECT * FROM Employees WHERE EmployeeID = 5;
| Блок WHERE IN |
Используя блок WHERE с оператором IN, Вы сможете определить, соответствует ли выражение одному из указанных в списке значений. В примере блок WHERE IN позволяет получить фамилии сотрудников из США и Англии, смотрите рисунок 1:
SELECT LastName, Country
FROM Employees
WHERE Country IN ('UK', 'USA');
| Блок WHERE BETWEEN |
Вы можете получить и выборку записей, удовлетворяющих двум критериям, обратите внимание на символы "#", в который заключены даты, смотрите пример:
SELECT OrderID FROM Orders WHERE OrderDate BETWEEN #01/01/93# AND #01/31/93#
| Оператор LIKE |
Оператор LIKE предназначен для поиска значений в полях по заданному шаблону. Вы можете указать полное значение, например LIKE 'Buchanan' или символ подстановки, к примеру LIKE 'Bu%'. Если при создание запроса Вы укажите LIKE 'B%', то будут найдены все поля значения в которых начинаются с буквы "B". В приведенном ниже примере, возвращаются все где фамилия сотрудников начинается с буквы "D":
SELECT LastName FROM Employees WHERE LastName LIKE 'D%';
Результат выполнения показан на рисунке 2:
| Блок ORDER BY |
По умолчанию записи возвращаются в том порядке в котором хранились в базе данных. С помощью не обязательного блока ORDER BY можно сортировать полученные в результате запроса данные по значению определённого поля в порядке возрастания, ключевое слово ASC и в порядке убывания, слово DESC. В приведённом ниже примере извлекаемые поля сортируются в порядке убывания, результат выполнения этого кода показан на рисунке 3:
SELECT * FROM Employees ORDER BY LastName DESC;
| Заключение |
При написание статьи использовался Microsoft SQL Server 2000 Developer Edition.