Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД_ответы_2004.docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
44.7 Кб
Скачать

7 Составные условия поиска. Таблицы истинности.

AND

true

false

null

OR

true

false

null

True

true

false

null

true

true

true

False

false

false

false

true

false

null

Null

null

false

null

true

null

null

NOT

True

False

Null

False

True

Null

8 Order by

ASC — сортировка по возрастанию (по-умолчанию), DESC — по убыванию. Первый столбец — главный ключ в сортировке, а следующие за ним являются всё более второстепенными ключами сортировки.

9 Union

Для объединения результатов нескольких запросов. Используется для таблиц, удовлетворяющих условиям:

1.      Кол-во столбцов в объединяемых ТРЗ должно быть одинаковым.

2.      Типы данных соответствующих столбцов из 1-й и 2-й таблиц должны совпадать.

3.      Ни одна из объединяемых таблиц не должна быть отсортирована с помощью ORDER BY.

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

С помощью оператора UNION можно объединить несколько таблиц.

10 Многотабличные запросы на чтение.

Например: вывести список жителей, имеющих телефоны, с указанием ФИО и номера телефона.

Операция ПРОЕКЦИИ. PERSON [ADR = ADR] TPHONE.

SELECT FIO, NTEL FROM PERSON, TPHONE

WHERE PERSON.ADR = TPHONE.ADR.

11 Псевдонимы таблиц, самосоединение таблиц.

Формат: ИМЯ_ТАБЛИЦЫ ПСЕВДОНИМ. Например:

SELECT NOM, FIO, SOURSE, MONEY

FROM PERSON A, PROFIT B, HAVE_D C

WHERE A.NOM = C.NOM AND C.ID = B.ID AND NOM = 13.

Можно соединить таблицу саму с собой. Например, для поиска однофамильцев:

SELECT A.ADR, B.ADR

FROM PERSON A, PERSON B

WHERE A.FIO = B.FIO AND A.ADR = B.ADR.

12 Агрегатные функции языка sql.

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

SUM() — сумма в столбце.

SUM(DISTINCT <имя столбца>) — сумма неповторяющихся значений в столбце.

SELECT SUM(SUMD) FROM PERSON

AVG() — среднее значение в столбце.

AVG(DISTINCT <имя столбца>) — среднее значение для неповторяющихся значений в столбце.

MIN(), MAX() — минимум и максимум.

COUNT() — количество значений в столбце.

COUNT(DISTINCT <имя столбца>) — количество неповторяющихся значений в столбце.

COUNT(*) — количество строк в ТРЗ.

ПРИМЕРЫ:

1.      SELECT ‘СРЕДНЕДУШИВОЙ ДОХОД =’, AVG (SUMD) FROM PERSON.

2.      SELECT AVG(SUMD*0.13) FROM PERSON

3.      SELECT SUM(SUMD) FROM PERSON

4.      SELECT SUM(DISTINCT SUMD) FROM PERSON

5.      SELECT ‘ПОЛУЧЕННО СТЕПЕНДИЙ НА СУММУ’, SUM(MONEYS) FROM HAVE_D, PROFIT WHERE PROFIT.ID = HAVE_D.ID AND SOURSE = ‘СТИПЕНДИЯ’

6.      SELECT MIN(R_DATE), MAX (R_DATE) FROM PERSON

7.      SELECT MIN(FIO), MAX (FIO) FROM PERSON

8.      SELECT COUNT(ADR) FROM PERSON WHERE ADR = ’Зеленоград, 1__-%’

Правила:

1. Если какие-либо значения в столбце имеют значение NULL, то они исключаются из столбцов.

2. Если все значения в столбце имеют значение NULL, то все функции, кроме COUNT вернут NULL. COUNT вернет 0.

3. COUNT(*) подсчитывает количество строк в ТРЗ, и возвращаемое значение не зависит от наличия NULL. Если строк нет, то вернется 0.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]