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



Pdf көрінісі
бет121/256
Дата18.11.2022
өлшемі1.88 Mb.
#465124
түріУчебное пособие
1   ...   117   118   119   120   121   122   123   124   ...   256
sql osnovi yazika

SELECT model, range,
CASE WHEN range < 2000 THEN 'Ближнемагистральный'
WHEN range < 5000 THEN 'Среднемагистральный'
ELSE 'Дальнемагистральный'
END AS type
FROM aircrafts
ORDER BY model;
model
| range | type
---------------------+-------+---------------------
Airbus A319-100
| 6700 | Дальнемагистральный
Airbus A320-200
| 5700 | Дальнемагистральный
Airbus A321-200
| 5600 | Дальнемагистральный
Boeing 737-300
| 4200 | Среднемагистральный
Boeing 767-300
| 7900 | Дальнемагистральный
Boeing 777-300
| 11100 | Дальнемагистральный
Bombardier CRJ-200 | 2700 | Среднемагистральный
Cessna 208 Caravan | 1200 | Ближнемагистральный
Sukhoi SuperJet-100 | 3000 | Среднемагистральный
(9 строк)
6.2. Соединения
В тех случаях, когда информации, содержащейся в одной таблице, недостаточно для
получения требуемого результата, используют соединение (join) таблиц. Покажем
способ выполнения соединения на примере следующего запроса: выбрать все места,
предусмотренные компоновкой салона самолета Cessna 208 Caravan.
152


6.2. Соединения
Сначала приведем SQL-команду для выполнения запроса, а потом объясним, как мы
ее придумали.
SELECT a.aircraft_code, a.model, s.seat_no, s.fare_conditions
FROM seats AS s
JOIN aircrafts AS a
ON s.aircraft_code = a.aircraft_code
WHERE a.model ~ '^Cessna'
ORDER BY s.seat_no;
В предложении WHERE мы применили регулярное выражение, хотя в данном случае
можно было с таким же успехом воспользоваться и оператором LIKE или функцией
substr.
aircraft_code |
model
| seat_no | fare_conditions
---------------+--------------------+---------+-----------------
CN1
| Cessna 208 Caravan | 1A
| Economy
CN1
| Cessna 208 Caravan | 1B
| Economy
CN1
| Cessna 208 Caravan | 2A
| Economy
CN1
| Cessna 208 Caravan | 2B
| Economy
CN1
| Cessna 208 Caravan | 3A
| Economy
CN1
| Cessna 208 Caravan | 3B
| Economy
CN1
| Cessna 208 Caravan | 4A
| Economy
CN1
| Cessna 208 Caravan | 4B
| Economy
CN1
| Cessna 208 Caravan | 5A
| Economy
CN1
| Cessna 208 Caravan | 5B
| Economy
CN1
| Cessna 208 Caravan | 6A
| Economy
CN1
| Cessna 208 Caravan | 6B
| Economy
(12 строк)
Данная команда иллюстрирует соединение двух таблиц на основе равенства зна-


Достарыңызбен бөлісу:
1   ...   117   118   119   120   121   122   123   124   ...   256




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

    Басты бет