Сейчас на сайте
Сейчас на сайте 0 пользователей и 0 гостей.

Квалифицированный выбор при использовании предложений

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

WHERE - предложение команды SELECT, которое позволяет вам устанавливать предикаты, условие которых может быть или верным или неверным для любой строки таблицы. Команда извлекает только те строки из таблицы для которой такое утверждение верно. Например, предположим вы хотите видеть имена и комиссионные всех продавцов в Лондоне. Вы можете ввести такую команду :

SELECT sname, city FROM Salespeople; WHERE city = "LONDON";

Когда предложение WHERE представлено, программа базы данных просматривает всю таблицу по одной строке и исследует каждую строку, чтобы определить верно ли утверждение. Следовательно, для записи Peel, программа рассмотрит текущее значение столбца city, определит, что оно равно "London", и включит эту строку в вывод. Запись для Serres не будет включена, и так далее. Вывод для вышеупомянутого запроса показан в Рисунке 3.6.

SQL Execution Log
SELECT sname, city FROM Salespeople| WHERE city = ' London '
sname city
Peel London
Motika London

Рисунок 3.6: SELECT c предложением WHERE

Давайте попробуем пример с числовым полем в предложении WHERE. Поле rating таблицы Заказчиков предназначено, чтобы разделять заказчиков на группы основанные на некоторых критериях, которые могут быть получены в итоге через этот номер. Возможно это форма оценки кредита или оценки, основанной на томе предыдущих приобретений. Такие числовые коды могут быть полязны в реляционных базах данных, как способ подведения итогов сложной информации. Мы можем выбрать всех заказчиков с рейтингом 100, следующим образом:

SELECT * FROM Customers WHERE rating = 100;

Одиночные кавычки не исполяьзуются здесь потому, что оценка - это числовое поле. Результаты запроса показаны в Рисунке 3.7.

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

SQL Execution Log

SELECT *

FROM Customers WHERE

rating = 100;

сnum cname city rating snum
2001 Hoffman London 100 1001
2006 Clemens London 100 1001
2007 Pereira Rome 100 1001

Рисунок 3.7: SELECT с числовым поляем в предикате