Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Язык структурированных запросов SQL. Установка критериев выбора




Язык SQL – структурированный язык запросов, который дает возможность работать в БД.

Salespeople: Snum Sname city comn Customers: Cnum Cname city rating Snum Orders: Onum amt Odate Cnum Snum

Выводит все данные из таблицы Salespeople:

SELECT Snum, Sname, city, comn

FROM Salespeople

или:

SELECT * FROM Salespeople

 

Устраняет дублирующее значение из предложения, указывается только один раз:

SELECT city FROM Salespeople

SELECT DISTINCT city FROM Salespeople

 

ALL – указывает,что нужно выводить дублирующие значения; пояснительное ключевое слово.

WHERE – предложение команды SELECT, которое позволяет установить условия для вывода строк. Если строка удовлетворяет заданное условие, то она выводится:

SELECT Sname, city FROM Salespeople

WHERE city = ‘Брянск’

или:

WHERE rating > 100

 

Условия могут быть очень сложные и представлять разные возможности.

Для символьных элементов сравнив. их значения по таблице ASCII кода. Для создания сложных выражений используются логические операции AND, OR, NOT.

 

IN – оператор, определяющий набор значений в который, данное значение может или не может быть включено.

SELECT * FROM Salespeople

WHERE city IN(“Брянск”, “Москва”)

или:

WHERE city = “Брянск” OR city = “Москва”

 

BETWEEN – определяет диапазон в который должно попасть значение.

SELECT * FROM Salespeople

WHERE comn BETWEEN 0,1 AND 0,12

или:

WHERE Cname BETWEEN “A” AND “E” /от А до D/

 

LIKE – применяется к символьным полям и используется чтобы находить подстроки.

(_) любой единичный символ?

(%) любое количество символов *

SELECT * FROM Customers

WHERE Cname LIKE “B%” /все имена покупателей на букву В/

 

IS NULL – используется для поиска пустых значений поля.

WHERE NOT city IS NULL


 

20. Язык структурированных запросов SQL. Обобщение данных с помощью агрегатных функций.

Запросы могут производить обобщенное групповое значение полей точно также как и значение одного пол. Это делает с помощью агрегатных функций. Агрегатные функции производят одиночное значение для всей группы таблицы. Имеется список этих функций:
* COUNT - производит номера строк или не - NULL значения полей которые выбрал запрос.
* SUM - производит арифметическую сумму всех выбранных значений данного пол.
* AVG - производит усреднение всех выбранных значений данного пол.
* MAX - производит наибольшее из всех выбранных значений данного пол.
* MIN - производит наименьшее из всех выбранных значений данного пол.

Функция COUNT несколько отличается от всех. Она считает число значений в данном столбце, или число строк в таблице. Когда она считает значения столбца, она используется с DISTINCT чтобы производить счет чисел различных значений в данном поле:

SELECT COUNT (DISTINCT snum) FROM Orders;

DISTINCT может использоваться таким образом, с любой функцией агрегата, но наиболее часто он используется с COUNT. С MAX и MIN, это просто не будет иметь никакого эффекта, а SUM и AVG, вы обычно применяете для включения повторяемых значений, так как они законно эффективнее общих и средних значений всех столбцов.

Чтобы подсчитать общее число строк в таблице, используйте функцию COUNT со звездочкой:

SELECT COUNT (*) FROM Customers Агрегатные функции могут также (в большинстве реализаций) использовать аргумент ALL, который помещается перед именем пол, подобно DISTINCT, но означает противоположное: - включать дубликаты. ANSI технически не позволяет этого для COUNT, но многие реализации ослабляют это ограничение. Различи между ALL и * когда они используются с COUNT -
* ALL использует имя_поля как аргумент.
* ALL не может подсчитать значения NULL.
Пока * является единственным аргументом который включает NULL значения, и он используется только с COUNT; функции отличные от COUNT игнорируют значения NULL в любом случае.

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

SELECT MAX (blnc + (amt)) FROM Orders;

GROUP BY применяет агрегатные функции независимо от серий групп которые определяются с помощью значения поля в целом. GROUP BY используется с многочисленными полями. Предложение GROUP BY позволяет создавать итоговый запрос, который вначале группирует строки базы данных по определенному признаку, а затем включает в результаты запроса одну итоговую строку для каждой группы.

Предложение HAVING показывает, что в результаты запроса следует включать только те некоторые из групп, созданных с помощью предложения GROUP BY.

Предложение HAVING определяет критерии используемые чтобы удалять определенные группы из вывода, точно также как предложение WHERE делает это для индивидуальных строк. Аргументы в предложении HAVING следуют тем же самым правилам что и в предложении SELECT, состоящей из команд использующих GROUP BY. Они должны иметь одно значение на группу вывода. Следующая команда будет запрещена:

SELECT snum, MAX (amt) FROM Orders GROUP BY snum HAVING odate = 10/03/1988;

 


 




Поделиться с друзьями:


Дата добавления: 2015-05-09; Просмотров: 500; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.