Учебно-практическое пособие москва 2017 ббк


CREATE TABLE pilot_hobbies



Pdf көрінісі
бет46/243
Дата21.07.2022
өлшемі3,05 Mb.
#147663
түріУчебно-практическое пособие
1   ...   42   43   44   45   46   47   48   49   ...   243
Байланысты:
Язык SQL. Базовый курс

CREATE TABLE pilot_hobbies
( pilot_name text,
hobbies jsonb
);
CREATE TABLE
51


INSERT INTO pilot_hobbies
VALUES ( 'Ivan',
'{ "sports": [ "футбол", "плавание" ],
"home_lib": true, "trips": 3
}'::jsonb ),
( 'Petr',
'{ "sports": [ "теннис", "плавание" ],
"home_lib": true, "trips": 2
}'::jsonb ),
( 'Pavel',
'{ "sports": [ "плавание" ],
"home_lib": false, "trips": 4
}'::jsonb ),
( 'Boris',
'{ "sports": [ "футбол", "плавание", "теннис" ],
"home_lib": true, "trips": 0
}'::jsonb );
INSERT 0 4
SELECT * FROM pilot_hobbies;
pilot_name |
i
hobbies
------------+--------------------------------------------------------
Ivan
| {"trips": 3, "sports": ["футбол", "плавание"],
"home_lib": true}
Petr
| {"trips": 2, "sports": ["теннис", "плавание"],
"home_lib": true}
Pavel
| {"trips": 4, "sports": ["плавание"],
"home_lib": false}
Boris
| {"trips": 0, "sports": ["футбол", "плавание",
"теннис"], "home_lib": true}
(4 строки)
Как видно, при выводе строк из таблицы порядок ключей в JSON-объектах не был
сохранен.
Предположим, что нужно сформировать футбольную сборную команду нашей авиа-
компании для участия в турнире. Мы можем выбрать всех футболистов таким спосо-
бом:
SELECT * FROM pilot_hobbies
WHERE hobbies @> '{ "sports": [ "футбол" ] }'::jsonb;
pilot_name |
i
hobbies
------------+--------------------------------------------------------
Ivan
| {"trips": 3, "sports": ["футбол", "плавание"],
"home_lib": true}
Boris
| {"trips": 0, "sports": ["футбол", "плавание",
"теннис"], "home_lib": true}
(2 строки)
Можно было эту задачу решить и таким способом:


Достарыңызбен бөлісу:
1   ...   42   43   44   45   46   47   48   49   ...   243




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

    Басты бет