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



Pdf көрінісі
бет114/256
Дата18.11.2022
өлшемі1.88 Mb.
#465124
түріУчебное пособие
1   ...   110   111   112   113   114   115   116   117   ...   256
sql osnovi yazika

FROM aircrafts
WHERE aircraft_code = '320';
model
|
specifications
-----------------+-------------------------------------------
Airbus A320-200 | {"crew": 2, "engines": {"num": 2, "type":
"IAE V2500"}}
(1 строка)
Можно посмотреть только сведения о двигателях:
SELECT model, specifications->'engines' AS engines
FROM aircrafts
WHERE aircraft_code = '320';
model
|
engines
-----------------+---------------------------------
Airbus A320-200 | {"num": 2, "type": "IAE V2500"}
(1 строка)
143


Глава 5. Основы языка определения данных
Чтобы получить еще более детальные сведения, например, о типе двигателей,
нужно учитывать, что созданный JSON-объект имеет сложную структуру: он со-
держит вложенный JSON-объект. Поэтому нужно использовать оператор #> для
указания пути доступа к ключу второго уровня.
SELECT model, specifications #> '{ engines, type }'
FROM aircrafts
WHERE aircraft_code = '320';
model
| ?column?
-----------------+-------------
Airbus A320-200 | "IAE V2500"
(1 строка)
Задание.
Подумайте, какие еще таблицы было бы целесообразно дополнить
столбцами типа json/jsonb. Вспомните, что, например, в таблице «Билеты»
(tickets) уже есть столбец такого типа — contact_data. Выполните модифи-
кации таблиц и измените в них одну-две строки для проверки правильности
ваших решений.
144


Глава 6
Запросы
Эта глава будет самой насыщенной и интересной, поскольку умение писать SQL-запросы — это не
только ремесло, но, пожалуй, и искусство тоже.
В предыдущих главах мы уже не раз использовали команду
SELECT и формировали с ее помощью
различные запросы. Эти запросы строились как на основе одной таблицы, так и на основе двух и
более таблиц. Мы рассмотрели простые способы сортировки и группировки строк в полученных вы-
борках из таблиц, использовали функцию count для подсчета числа выбранных строк. Таким образом,
вы уже получили элементарное представление о том, как формировать выборки из базы данных.
В этой главе мы покажем более сложные способы их получения.
С целью приведения в систему тех знаний о формировании выборок, что были получены в предыду-
щих главах, в этой главе мы повторим некоторые сведения, но сделаем это уже на новых примерах.


Достарыңызбен бөлісу:
1   ...   110   111   112   113   114   115   116   117   ...   256




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

    Басты бет