|
Программирование >> Построение запросов sql
Здесь в качестве возвращаемых элементов используются имена столбцов AccountCD, Fio, Phone базовой таблицы Abonent. Имя таблицы можно переопределять, чтобы для ссылок на нее использовать короткий (чаще всего ограничивающийся одной буквой) псевдоним (alias), например в следующм виде: SELECT A.AccountCD, A.Fio, A.Phone FROM Abonent A;. Результат выполнения двух предыдущих запросов представлен на рис. 3.2.
Рис. 3.2. Результат выполнения запроса к таблице Abonent Следует учесть, что когда объявлен псевдоним, то нельзя использовать имя соответствующей таблицы в списке возвращаемых столбцов запроса SELECT. Так, следующий запрос SELECT Abonent.AccountCD, Abonent.Fio, Abonent.Phone FROM Abonent A; будет выдавать сообщение об ошибке. В результаты запроса можно включать константы, например в следующем виде: SELECT Абонент, Fio, Номер телефона, Phone FROM Abonent;. Результат выполнения запроса представлен на рис. 3.3.
Как следует из результата предыдущего запроса, СУБД Firebird определяет по умолчанию системные имена для столбцов ТРЗ, содержащих константы. Повторяющиеся строки из таблицы результатов запроса можно удалить, если в запросе SELECT перед списком возвращаемых элементов указать ключевое слово DISTINCT (различный). Например, чтобы выбрать из таблицы Abonent различные значения кодов улиц, необходимо использовать следующий запрос: SELECT DISTINCT StreetCD FROM Abonent;. Результат выполнения запроса представлен на рис. 3.4. STREETCD Рис. 3.4. Результат запроса на исключение повторяющихся строк Этот запрос выполняется следующим образом. Вначале генерируются все строки результатов (двенадцать строк - по числу строк в таблице Abonent), а затем удаляются те из них, коды улиц в которых в точности повторяют другие. Ключевое слово DISTINCT можно указывать независимо от содержимого списка возвращаемых элементов запроса SELECT. Если ключевое слово DISTINCT не указано, то повторяющиеся строки не удаляются. Кроме столбцов, значения которых считываются непосредственно из БД, SQL-запрос на чтение может содержать вычисляемые столбцы, значения которых определяются на основании значений данных, хранящихся в БД. Чтобы получить вычисляемый столбец, в списке возвращаемых элементов необходимо указать выражение. Выражения могут включать в себя операции сложения, вычитания, умножения, деления и операцию конкатенации (склеивания) строк, которая обозначается, как две вертикальные линии . В выражениях можно также использовать скобки. Таким образом, выражение представляет собой следующую конструкцию: <выражение> { [ [+] - ] { столбец константа функция} [ + - * / ] [ ]} . Например, если требуется вывести в столбце AccountCDRyazan значение лицевого счёта абонента, а в столбце с именем FioPhone - фамилию и номер телефона абонента с добавлением символов 8-4912 в начало номера телефона каждого лицевого счета, то можно построить следующий запрос: SELECT AccountCD AS AccountCDRyazan, (Fio имеет телефон 8-4912- Phone) AS FioPhone FROM Abonent;. В этом примере использованы псевдонимы столбцов, которые задаются с помощью зарезервированного слова AS (как), указываемого после возвращаемого элемента и определяющего имя, под которым столбец будет представлен в ТРЗ. Результат выполнения запроса представлен на рис. 3.5.
Рис. 3.5. Результат выполнения запроса с вычисляемыми столбцами Существует возможность управлять количеством строк, возвращаемых запросом. Это делается в запросе SELECT с использованием следующей конструкции: [FIRST m] [SKIP n] , где m и n - целочисленные выражения. Здесь после зарезервированного слова FIRST указывается, что только первые m строк из возвращаемого набора данных нужно вывести, а оставшиеся -отбросить. Зарезервированное слово SKIP определяет параметр n - количество первых строк, которое нужно пропустить с начала набора данных, сформированного запросом. Пусть, например, требуется вывести четыре строки из справочника абонентов, начиная со второй. Для этого можно использовать следующий запрос: SELECT FIRST 4 SKIP 1 * FROM Abonent;. Результат выполнения запроса представлен на рис. 3.6.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |