КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Price FROM flat order BY Room, Price DESC, 5
SELECT Number, Address, Floor, Room, Square, FROM people FROM spisok SELECT UPPER(Fam) WHERE LOWER(Name)='Владимир' В результате выполнения данного оператора будут большими буквами выведены значения поля Fam всех записей, для которых значение поля Name, преобразованное к символам нижнего регистра, равно «Владимир». SELECT * WHERE EXTRACT(MONTH FROM Birth)=10 Представленный запрос обеспечивает отбор из таблицы people всех записей, у которых значение месяца в поле Birth равно 10 (то есть октябрь). Сортировка записей. Сортировка или упорядочение записей по возрастанию или по убыванию значений полей осуществляется с помощью операнда ORDER BY. После него приводится список полей, по которым должна производиться сортировка. Записи будут упорядочены в зависимости от порядка указания полей. Вначале осуществляется сортировка по первому указанному полю; затем для записей, имеющих одинаковое значение первого поля, происходит упорядочение по второму полю и т.д. Сортировка может выполняться как для индексированных, так и для неиндексированных полей. Поля в списке обозначаются именами или номерами, соответствующими порядку расположения полей в списке после ключевого слова SELECT. По умолчанию производится сортировка в порядке возрастания значений поля. Описатель DESC, который указывается после имени (или номера) соответствующего поля, позволяет упорядочить записи по убыванию значений данного поля. При выполнении данного запроса выводятся записи таблицы flat.db, в которой содержатся сведения о предлагаемых на продажу квартирах. Записи сортируются следующим образом. Вначале происходит сортировка в зависимости от количества комнат, то есть по возрастанию значений поля Room. Затем записи, у которых совпадает количество комнат, сортируются по убыванию стоимости квартиры (значения поля Price). И, наконец, записи, у которых одинакова комбинация значений полей Room и Price, упорядочиваются по возрастанию пятого поля из списка полей в разделе SELECT. Пятым полем в списке является поле Square, которое содержит данные о площади квартиры. Результат может выглядеть примерно так, как это показано на рис. 15.2. Агрегатные функции. В SQL-запросах предусмотрено использование так называемых агрегатных функций, которые позволяют получать некоторую общую величину, которая рассчитывается на основе всех значений набора данных или определенной группы записей. В SQL существуют следующие агрегатные функции: ■ COUNT (выражение) - подсчитывает число вхождений заданного выражения во все записи результирующего набора данных; SUM (выражение) - определяет общую сумму значений, определяемых параметром выражение; ■ AVG (выражение) -вычисляет среднее значение; ■ МАХ (выражение) - находит максимальное значение; MIN (выражение) - определяет минимальное значение
Ниже приводятся примеры создания запросов с использованием агрегатных функций. SELECT COUNT(DISTINCT Name) FROM firm WHERE Dolgn = 'Водитель' В результате выполнения этого запроса выводится количество неповторяющихся и непустых значений поля Name для всех записей таблицы firm, у которых значение поля Dolgn равно «Водитель». Другими словами, подсчитывается количество водителей, работающих в данной фирме. SELECT SUM(Price*Kolvo) FROM shop WHERE Date=ll.08.99 Результатом выполнения данного оператора является общая сумма денег, вырученная магазином за день. Она рассчитывается путем суммирования произведений значения поля Цена (Price) на значение поля Количество (Kolvo) для всех записей таблицы shop, у которых значение поля Date равно 11.08.99. SELECT MAX(Salary) FROM firm Вышеприведенный запрос выводит максимальное значение поля Salary среди всех записей таблицы firm (т.е. определяется размер максимальной заработной платы среди всех сотрудников фирмы). Группирование записей. Группирование данных используется, главным образом, в ситуациях, когда необходимо получить агрегированные значения (минимум, максимум, среднее, сумма, количество) не по всему набору данных, а по каждой из входящих в него групп записей, характеризующихся одинаковым значением какого-либо поля. Например, следующий запрос позволяет получить общее количество сотрудников по каждому отделу фирмы. SELECT Otdel, COUNT(Tab_nom) FROM firm GROUP BY Otdel В ряде случаев необходимо установить некоторые ограничения на группируемые значения. Для этого применяется операнд HAVING. К примеру, если в предыдущем примере требуется вывести только те отделы, в которых количество сотрудников более 10, то это можно осуществить с помощью запроса такого вида:
Дата добавления: 2014-12-25; Просмотров: 392; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |