|
Программирование >> Исключение дубликатов строк
Уточнение Select first name пё last name as EmployeeName from the employees table for all employees hired since where date hired >= January 1, 1080 4989-01-0Г (Выбрать имя, i i фамилию как EmployeeName из Сотрудники , где дата приема на работу Ч989-01-0Г) SELECT FirstName LastName AS EmployeeName FROM Employees WHERE DateHired >= 1989-01-0Г Вот еще один запрос, с которым можно обратиться к базе данных: Show те а list of products with a retail price of fifty dollars or less . ( Показать список товаров, розничная цена которых пятьдесят долларов или меньше .) Для этого запроса будет использоваться сравнение меньше или равно . Это гарантирует, что набор результатов оператора SELECT будет содержать только товары ценой от одного цента до точно пятидесяти долларов. Посмотрим, как преобразовать этот запрос: Преобразование: Select product name from the products table for all products with a retail price of fifty dollars or less (Выбрать наименование товара из таблицы Товары для всех товаров с розничной ценой в 50 долларов Уточнение: или меньше) Select product name from the products table for all products with a where retail price df <= 50 fifty dollars or less (Выбрать наименование товара из Товары где розничная цена <= 50) SELECT ProductName FROM Products WHERE RetailPrice <= 50 В рассмотренных нами примерах мы использовали только один тип сравнения. Позже мы покажем, как компоновать сравнения, используя AND и OR. Диапазон С помощью условия проверки диапазона можно проверить, попадает ли значение типизированного выражения в указанный диапазон значений. На рис. 6.3 представлена синтаксическая структура для этого условия. Диапазон .....1ипизиооаанное выражение BETWEEN и тизир оэом.чо е вь р ож о ни в - Ти1)Илир о а Опно е 8ь:р ожение Рис. 6.3. Синтаксическая диаграмма для условия проверки диапазона Условие проверки диапазона тестирует значение указанного типизированного выражения на вхождение в диапазон значений, определенный двумя другими типизированными выражениями. Предикат BETWEEN...AND определяет диапазон, используя значение второго типизированного выражения как начало, а значение третьего типизированного выражения как конец. Точки начала и конца являются частями диапазона. Строка включается в набор результатов, если только значение первого типизированного выражения попадает в указанный диапазон. В отношении использования BETWEEN...AND необходимо знать следуюидее. Стандарт SQL предписывает, что выражение: Значение! BETWEEN Значение2 AND ЗначениеЗ это то же самое, что и Значение! Значение2 AND Значение! ЗначениеЗ Это означает, что для выполнения предиката надлежащим образом Значение2 должно быть меньше или равно ЗначениюЗ. Однако некоторые системы баз данных допускают, чтобы Значение2 было больше или равно ЗначениюЗ. Проверьте детали в документации на свою систему базы данных. Приведем примеры использования условий проверки диапазона: Which staff members were hired in July of 1986? ( Какие сотрудники были приняты на работу в июле 1986? ) Здесь целесообразно использование условия проверки диапазона, потому что нужно извлечь имена всех тех, кто был принят на работу в пределах определенного набора дат (в данном случае между ! и 3! июля !986 г.) Построим соответствующий оператор SELECT. Преобразование: Select first name and last name from the staff table where the date hired is between July !, !986, and July 3!, !986 (Выбрать имя и фамилию из таблицы Персонал , для которых дата приема на работу находится между ! июля и 3! июля !986) Уточнение Select first name last name from the staff table where the date hired ts between July 1,1086 1986-07-0Г, and July 31, 1986 1986-07-ЗГ (Выбрать имя, фамилию из Персонал , где дата приема на работу между 4986-07-ОГ и 4986-07-31) SELECT FirstName, LastName FROM Staff WHERE DateHired BETWEEN 1986-07-01 AND 1986-07-31 Обратите внимание на то, что в преобразуемом утверждении диапазон дат указан более явно, чем в запросе. Используйте эту методику для преобразования запроса как можно более точно и таким образом определяйте соответствуюидий оператор SELECT. В следующем примере показано, что условие проверки диапазона также достаточно эффективно можно использовать для данных типа символьной строки: Give те а list of students - along with their phone numbers - whose last name begins with the letterB . ( Предоставить список студентов - вместе с их телефонными номерами,- фамилии которых начинаются с буквы В .) Преобразование Уточнение: Select last name, first name, and phone number from the students table for all students whose last name begins with the letter Ъ (Выбрать фамилиюу, имя и номер телефона из таблицы Студенты для всех студентов, фамилии которых начинаются с буквы Ъ) Select last name, first name, шё phone number from the students table for all students whose last name begins with the letter B where last name between V and bz (Выбрать фамилию, имя, номер телефона из Студенты , где фамилия между Ъ и bz) SELECT StudLastName, StudFirstName, FROM Students WHERE StudLastName StudPhoneNumber BETWEEN b AND lz При определении диапазона для данных типа символьной строки тщательно обдумывайте значения, которые вы хотите включить. В таком запросе существует три возможных способа указания начала и конца необходимого диапазона. Результаты будут совершенно разными!
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |