Учебное пособие Санкт-Петербург «бхв-петербург»


SELECT aircraft_code, count( * ) FROM seats



Pdf көрінісі
бет35/256
Дата18.11.2022
өлшемі1.88 Mb.
#465124
түріУчебное пособие
1   ...   31   32   33   34   35   36   37   38   ...   256
sql osnovi yazika

Глава 3. Основные операции с таблицами
SELECT aircraft_code, count( * ) FROM seats
GROUP BY aircraft_code
ORDER BY count;
aircraft_code | count
---------------+-------
CN1
|
12
CR2
|
50
SU9
|
97
319
| 116
733
| 130
320
| 140
321
| 170
763
| 222
773
| 402
(9 строк)
Теперь поставим более сложную задачу: подсчитать количество мест в салонах для
всех моделей самолетов, но теперь уже с учетом класса обслуживания (бизнес-класс
и экономический класс). В этом случае группировка выполняется уже по двум атри-
бутам: aircraft_code и fare_conditions. Отсортируем выборку по тем же столб-
цам, по которым выполняли группировку.
SELECT aircraft_code, fare_conditions, count( * )
FROM seats
GROUP BY aircraft_code, fare_conditions
ORDER BY aircraft_code, fare_conditions;
aircraft_code | fare_conditions | count
---------------+-----------------+-------
319
| Business
|
20
319
| Economy
|
96
320
| Business
|
20
320
| Economy
| 120
...
(17 строк)
47


Глава 3. Основные операции с таблицами
Контрольные вопросы и задания
1. Попробуйте ввести в таблицу aircrafts строку с таким значением атрибута
«Код самолета» (aircraft_code), которое вы уже вводили, например:
INSERT INTO aircrafts
VALUES ( 'SU9', 'Sukhoi SuperJet-100', 3000 );
Обратите внимание, что в этой команде мы не привели список атрибутов, что
вполне допустимо при задании значений атрибутов в том же порядке, в котором
атрибуты следуют в определении таблицы. Но в ваших прикладных программах
так поступать все же не следует, поскольку в случае возможной реструктуриза-
ции таблицы и изменения порядка следования атрибутов в ней ваши команды
INSERT могут перестать работать корректно.
Вы получите сообщение об ошибке.
ОШИБКА: повторяющееся значение ключа нарушает ограничение
уникальности "aircrafts_pkey"
ПОДРОБНОСТИ: Ключ "(aircraft_code)=(SU9)" уже существует.
Подумайте, почему появилось сообщение. Если вы забыли структуру таблицы
aircrafts, то можно вывести ее определение на экран с помощью команды


Достарыңызбен бөлісу:
1   ...   31   32   33   34   35   36   37   38   ...   256




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет