КАТЕГОРИИ: Архитектура-(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) |
Устранение повторяющихся значений
Использование псевдонимов таблиц Использование предложения WHERE. Внутреннее соединение таблиц. Использование предложения WHERE для задания условия отбора Общий формат оператора SELECT Оператор SELECT Средства манипулирования данными Позволяет производить выборки из таблиц БД и преобразовывать к нужному виду полученные результаты. SELECT [DISTINCT | ALL ] {* | <значение1> [,<значение2> …]} FROM <таблица1> [, <таблица2> … ] [ WHERE <условия_поиска> ] [ GROUP BY столбец [, столбец1 … ] [ HAVING < условия_поиска> ] [ UNION <оператор_select>] [ PLAN <план_выполнения_запроса>] [ ORDER BY <список_столбцов>] Простейший формат: SELECT { * | <значение1>, <значение1> [,<значение2> …]} FROM <таблица1> [, <таблица2 … ]
Например: SELECT * FROM RASHOD Или так: SELECT N_RASH, DAT_RASH, KOLVO, TOVAR, POKUP FROM RASHOD Предложение WHERE используется для включения в НД лишь нужных записей. В этом случае имеем следующий формат:
SELECT {* | <значение1> [,<значение2> …]} FROM <таблица1> [, <таблица2> … ] [ WHERE <условия_поиска> ]
Сравнение значения столбца с константой При сравнении столбца с константой условие имеет вид: <условия поиска > = <оператор> <константа> Где <оператор> - одна из следующих операций отношения: <оператор> = { = | < | > | <= | >= |!= |!< |!> | <> } Пример: SELECT * FROM RASHOD WHERE KOLVO = 20 При сравнении значения одной таблицы с со значением столбца другой таблицы условие поиска имеет следующий вид: <условия поиска > = <имя столбца 1> <оператор> <имя столбца 2> Пример: Чтобы выбрать все записи о расходе товара из таблицы RASHOD и для каждого товара указать его цену из таблицы TOVARY, можно использовать такой оператор: SELECT RASHOD.*, TOVARY.ZENA FROM RASHOD, TOVARY WHERE RASHOD.TOVAR = TOVARY.TOVAR
Такой способ соединения называется внутренним соединением. При внутреннем соединении двух таблиц A и B логический порядок формирования результирующего набора данных можно представить следующим образом. 1. Из столбцов, которые указаны после слова SELECT, составляется промежуточный набор данных путем сцепления результирующих столбцов каждой записи из таблицы А и результирующих столбцов записи из таблицы В. 2. Из получившегося НД отбрасываются все записи, не удовлетворяющие условию в предложении WHERE. Замечание: Фактический порядок выполнения запроса для конкретного SQL-сервера может быть другим. Пример: Таблица A
Таблица B
SELECT A.P1, A.P2, B.P2 FROM A, B WHERE A.P2 = B.P1 Промежуточный набор
Окончательный набор
SELECT … FROM < таблица1 псевдоним1> [, таблица2 псевдоним 2 … ] WHERE … Пример: SELECT R.*, P.ADRES FROM RASHOD R, POKUPATELI P WHERE P.POKUP = R.POKUP 3.4.1.5. Предложение ORDER BY – определение сортировки Результирующий набор данных можно отсортировать с помощью предложения: ORDER BY <список_столбцов> Пример: SELECT POKUP, DATRASH, TOVAR, KOLVO FROM RASHOD WHERE TOVAR = “Кока-кола” ORDER BY POKUP, DATARASH Часто в результирующий НД необходимо включать не все записи с одинаковым значением комбинации столбцов. Для этого используется ключевое слово DISTINCT Пример: SELECT DISTINCT TOVAR FROM RASHOD Замечание: Использование DISTINCT может существенно замедлить выполнение запроса, т.к. сервер будет тратить дополнительные ресурсы на проверку каждой записи. Обычно применяется в запросах, использующих агрегатные функции.
Дата добавления: 2014-12-23; Просмотров: 372; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |