BS ISO/IEC 19075-6:2021
$215.11
Information technology. Guidance for the use of database language SQL – Support for JSON
Published By | Publication Date | Number of Pages |
BSI | 2021 | 106 |
This document describes the support in SQL for JavaScript Object Notation.
This document discusses the following features of the SQL language:
-
Storing JSON data.
-
Publishing JSON data.
-
Querying JSON data.
-
SQL/JSON data model and path language.
PDF Catalog
PDF Pages | PDF Title |
---|---|
2 | undefined |
5 | Contents |
8 | Tables |
10 | Figures |
11 | Foreword |
13 | Introduction |
15 | 1 Scope |
16 | 2 Normative references |
17 | 3 Terms and definitions |
20 | 4 JavaScript Object Notation (JSON) 4.1 Context for JSON 4.2 What is JSON? |
21 | 4.3 Representations of JSON data 4.3.1 Introduction to representations of JSON data 4.3.2 Avro |
22 | 4.3.3 BSON 4.4 Schemas 4.4.1 JSON schemata and validity |
23 | 4.4.2 Avro schemata 4.4.3 BSON schemata |
24 | 4.5 Why does JSON matter in the context of SQL? What is JSON’s relationship to NoSQL? |
25 | 4.6 Use cases for JSON support in SQL 4.6.1 Introduction to the use cases 4.6.2 JSON data ingestion and storage 4.6.3 JSON data generation from relational data |
26 | 4.6.4 Querying JSON as persistent semi-structured data model instances 4.7 What features address those use cases? 4.7.1 Addressing the use cases 4.7.2 Storing JSON data in an SQL table 4.7.3 Generating JSON in an SQL query |
27 | 4.7.4 Querying JSON data in SQL tables using SQL |
28 | 5 The SQL/JSON data model 5.1 Introduction to the SQL/JSON data model |
29 | 5.2 SQL/JSON items 5.2.1 Definition of SQL/JSON items |
30 | 5.2.2 Atomic values |
31 | 5.2.3 SQL/JSON arrays 5.2.4 SQL/JSON objects 5.3 SQL/JSON sequences |
32 | 5.4 Parsing JSON 5.5 Serializing JSON |
33 | 6 SQL/JSON functions 6.1 Introduction to SQL/JSON functions 6.2 Handle JSON using built-in functions 6.3 JSON API common syntax 6.3.1 Introduction to JSON API common syntax |
34 | 6.3.2 JSON value expression 6.3.3 Path expression 6.3.4 PASSING clause |
35 | 6.3.5 JSON output clause 6.3.6 ON ERROR and ON EMPTY syntax |
36 | 6.4 Query functions 6.4.1 The four query functions 6.4.2 JSON_EXISTS |
39 | 6.4.3 JSON_VALUE |
43 | 6.4.4 JSON_QUERY |
47 | 6.4.5 JSON_TABLE 6.4.5.1 Introduction to JSON_TABLE |
48 | 6.4.5.2 COLUMNS clause that is not nested |
50 | 6.4.5.3 Nested COLUMNS clause |
51 | 6.4.5.4 PLAN clause |
55 | 6.4.6 Conformance features for query operators |
57 | 6.5 Constructor functions and IS JSON predicate 6.5.1 Tables used to illustrate constructor functions and the IS JSON predicate |
58 | 6.5.2 JSON_OBJECT |
59 | 6.5.3 JSON_OBJECTAGG |
60 | 6.5.4 JSON_ARRAY |
61 | 6.5.5 JSON_ARRAYAGG |
63 | 6.5.6 IS JSON predicate 6.5.7 Handling of JSON nulls and SQL nulls |
64 | 6.5.8 Conformance features for constructor functions |
65 | 7 SQL/JSON path language 7.1 Overview of SQL/JSON path language |
66 | 7.2 Objectives for the SQL/JSON path language |
67 | 7.3 Modes 7.3.1 Introduction to modes |
68 | 7.3.2 Example of strict vs lax |
70 | 7.4 Lexical issues |
72 | 7.5 Syntax summary 7.6 Formal semantics and notational conventions |
73 | 7.7 Primitive operations in formal semantics 7.7.1 Concatenation 7.7.2 unwrap() |
74 | 7.7.3 wrap() 7.8 Mode declaration |
75 | 7.9 7.9.1 Introduction to JSON path primaries 7.9.2 Literals |
76 | 7.9.3 Variables |
77 | 7.9.4 Parentheses 7.10 Accessors 7.10.1 Introduction to accessors |
78 | 7.10.2 Member accessor |
81 | 7.10.3 Member wildcard accessor |
82 | 7.10.4 Element accessor |
84 | 7.10.5 Element wildcard accessor |
85 | 7.10.6 Sequence semantics of the accessors 7.11 Item methods 7.11.1 Introduction to item methods |
86 | 7.11.2 type() 7.11.3 size() |
87 | 7.11.4 Numeric item methods (double, ceiling, floor, abs) 7.11.5 datetime() 7.11.6 keyvalue() |
89 | 7.12 Arithmetic expressions 7.12.1 Introduction to arithmetic expressions 7.12.2 Unary plus and minus |
90 | 7.12.3 Binary operations 7.13 Filter expression 7.13.1 Introduction to filter expressions |
91 | 7.13.2 true/false and True/False |
92 | 7.13.3 null and Unknown 7.13.4 Error handling in filters |
95 | 7.13.5 Truth tables |
96 | 7.13.6 Comparison predicates |
97 | 7.13.7 like_regex predicate |
98 | 7.13.8 starts with predicate 7.13.9 exists predicate |
100 | 7.13.10 is unknown predicate |
101 | 7.14 Conformance features for SQL/JSON path language |