📣新登場!TiDB Cloud BYOC、TiDB Cloud Filesystem、PostgreSQL-compatible TiDB Cloud Starter がパブリックプレビュー中。このページは自動翻訳されたものです。原文はこちらからご覧ください。

SQL 方言と準拠



このページでは、TiDB Cloud Lake がサポートする SQL 方言の詳細と、SQL 標準への準拠状況、特に SQL:2011 の機能と TiDB Cloud Lake におけるそのサポート状況について説明します。

サポートされる SQL 方言

SQL 方言とは、Structured Query Language の特定のバリエーションまたは種類を指します。TiDB Cloud Lake はデフォルトで PostgreSQL 方言をサポートしており、他のサポート対象の方言へ柔軟に切り替えることもできます。サポートされる方言とその簡単な説明については、以下の表を参照してください。

方言概要詳細情報
PostgreSQLエンタープライズで一般的に使用される、デフォルトでサポートされる方言https://www.postgresql.org/
MySQLオープンソースのデータベース管理システムhttps://www.mysql.com/
Hiveビッグデータ処理向けのデータウェアハウスhttps://hive.apache.org/
PrqlPRQL は、データ変換のためのモダンな言語であり、シンプルかつ強力なパイプライン型 SQL 代替言語ですhttps://github.com/PRQL/prql
Experimentalテストおよび研究向けの実験的な方言N/A

サポートされる SQL 方言を切り替える、または現在の方言を表示するには、sql_dialect 設定を使用します。

-- Set SQL dialect to PRQL SET sql_dialect = 'Prql'; -- Display current dialect SHOW SETTINGS LIKE 'sql_dialect';

SQL 準拠サマリー

TiDB Cloud Lake は SQL 標準への準拠を目指しており、特に SQL:2011 としても知られる ISO/IEC 9075:2011 をサポートしています。これは網羅的な準拠表明ではありませんが、TiDB Cloud Lake は SQL 標準で求められる多くの機能を取り入れており、構文や関数にわずかな違いがある場合があります。このページでは、TiDB Cloud Lake の SQL:2011 標準に対する準拠レベルを示します。

Feature ID機能名サポート状況注記
E011数値データ型Yes
E011-01INTEGER および SMALLINT データ型Yes
E011-02REAL、DOUBLE PRECISION、および FLOAT データ型Yes
E011-03DECIMAL および NUMERIC データ型Yes
E011-04算術演算子Yes
E011-05数値比較Yes
E011-06数値データ型間の暗黙的キャストYes
E021文字列型Partial
E021-01CHARACTER データ型No固定長文字列型はサポートされていません
E021-02CHARACTER VARYING データ型Yes
E021-03文字リテラルYes
E021-04CHARACTER_LENGTH 関数Yes
E021-05OCTET_LENGTH 関数Yes
E021-06SUBSTRINGYes
E021-07文字列連結Yes
E021-08UPPER および LOWER 関数Yes
E021-09TRIM 関数Yes
E021-10固定長および可変長文字列型間の暗黙的キャストNo固定長文字列型はサポートされていません
E021-11POSITION 関数Yes
E021-12文字比較Yes
E031識別子Yes
E031-01区切り識別子Yes
E031-02小文字の識別子Yes
E031-03末尾のアンダースコアYes
E051基本的なクエリ仕様Partial
E051-01SELECT DISTINCTYes
E051-02GROUP BY 句Yes
E051-04GROUP BY に SELECT リストにないカラムを含めることができるYes
E051-05選択項目の名前変更Yes
E051-06HAVING 句Yes
E051-07select リスト内の修飾付き *No
E051-08FROM 句内の相関名Yes
E051-09FROM 句内でのカラム名変更No
E061基本的な述語と検索条件Partial
E061-01比較述語Yes
E061-02BETWEEN 述語Yes
E061-03値のリストを伴う IN 述語Yes
E061-04LIKE 述語Yes
E061-05LIKE 述語: ESCAPE 句No
E061-06NULL 述語Yes
E061-07量化比較述語Yes
E061-08EXISTS 述語Yes
E061-09比較述語内のサブクエリYes
E061-11IN 述語内のサブクエリYes
E061-12量化比較述語内のサブクエリYes
E061-13相関サブクエリYes
E061-14検索条件Yes
E071基本的なクエリ式Partial
E071-01UNION DISTINCT テーブル演算子Yes
E071-02UNION ALL テーブル演算子Yes
E071-03EXCEPT DISTINCT テーブル演算子Yes
E071-05テーブル演算子で結合されるカラムは、データ型が完全に同一である必要はないPartial暗黙的に型強制できるデータ型のカラムのみ、テーブル演算子で結合できます。
E071-06サブクエリ内のテーブル演算子Yes
E081基本的な権限Partial
E081-01テーブルレベルの SELECT 権限Yes
E081-02DELETE 権限Yes
E081-03テーブルレベルの INSERT 権限Yes
E081-04テーブルレベルの UPDATE 権限Yes
E081-05カラムレベルの UPDATE 権限No
E081-06テーブルレベルの REFERENCES 権限No
E081-07カラムレベルの REFERENCES 権限No
E081-08WITH GRANT OPTIONNo
E081-09USAGE 権限No
E081-10EXECUTE 権限No
E091集合関数Yes
E091-01AVGYes
E091-02COUNTYes
E091-03MAXYes
E091-04MINYes
E091-05SUMYes
E091-06ALL 量指定子Yes
E091-07DISTINCT 量指定子Partial現在、TiDB Cloud Lake は COUNT(DISTINCT ...) と SELECT DISTINCT ... クエリをサポートしています。
E101基本的なデータ操作Partial
E101-01INSERT 文Yes
E101-03検索条件付き UPDATE 文Yes
E101-04検索条件付き DELETE 文Yes
E111単一行 SELECT 文Yes
E121基本カーソルサポートPartial
E121-01DECLARE CURSORNo
E121-02ORDER BY のカラムは select リストに含まれている必要はないYes
E121-03ORDER BY 句内の値式Yes
E121-04OPEN 文No
E121-06位置指定 UPDATE 文No
E121-07位置指定 DELETE 文No
E121-08CLOSE 文No
E121-10FETCH 文: 暗黙の NEXTNo
E121-17WITH HOLD カーソルNo
E131NULL 値サポート(値の代わりの null)Yes
E141基本整合性制約No
E141-01NOT NULL 制約YesTiDB Cloud Lake のデフォルト: すべてのカラムは NULL を許容します。
E141-02NOT NULL カラムの UNIQUE 制約No
E141-03PRIMARY KEY 制約No
E141-04参照削除アクションと参照更新アクションの両方でデフォルトが NO ACTION の基本 FOREIGN KEY 制約No
E141-06CHECK 制約No
E141-07カラムのデフォルト値Yes
E141-08PRIMARY KEY に対する NOT NULL の推論No
E141-10外部キー内の名前は任意の順序で指定できるNo
E151トランザクションサポートPartial
E151-01COMMIT 文PartialTiDB Cloud Lake は、個々の DML 文ごとの暗黙的トランザクションのみをサポートします。
E151-02ROLLBACK 文No
E152基本 SET TRANSACTION 文No
E152-01SET TRANSACTION 文: ISOLATION LEVEL SERIALIZABLE 句No
E152-02SET TRANSACTION 文: READ ONLY および READ WRITE 句No
E153サブクエリを含む更新可能クエリYes
E161先頭の二重マイナスを使用する SQL コメントYes
E171SQLSTATE サポートNo
E182ホスト言語バインディングNo
F031基本スキーマ操作Yes
F031-01永続ベーステーブルを作成する CREATE TABLE 文Yes
F031-02CREATE VIEW 文Yes
F031-03GRANT 文Partial
F031-04ALTER TABLE 文: ADD COLUMN 句Yes
F031-13DROP TABLE 文: RESTRICT 句Partial
F031-16DROP VIEW 文: RESTRICT 句Partial
F031-19REVOKE 文: RESTRICT 句Partial
F041基本的な結合テーブルYes
F041-01内部結合(ただし INNER キーワードは必須ではない)Yes
F041-02INNER キーワードYes
F041-03LEFT OUTER JOINYes
F041-04RIGHT OUTER JOINYes
F041-05外部結合はネスト可能Yes
F041-07左または右外部結合の内部テーブルは、内部結合でも使用できるYes
F041-08すべての比較演算子をサポート(= のみではない)Yes
F051基本的な日付と時刻Partial
F051-01DATE データ型(DATE リテラルのサポートを含む)Yes
F051-02TIME データ型(TIME リテラルのサポートを含む)。小数秒精度は少なくとも 0No
F051-03TIMESTAMP データ型(TIMESTAMP リテラルのサポートを含む)。小数秒精度は少なくとも 0 および 6Yes
F051-04DATE、TIME、および TIMESTAMP データ型に対する比較述語Yes
F051-05日時型と文字列型の間の明示的 CASTYes
F051-06CURRENT_DATEYes
F051-07LOCALTIMEYes
F051-08LOCALTIMESTAMPYes
F081ビュー内の UNION と EXCEPTYes
F131グループ化操作Yes
F131-01グループ化されたビューを含むクエリで WHERE、GROUP BY、および HAVING 句をサポートYes
F131-02グループ化されたビューを含むクエリで複数テーブルをサポートYes
F131-03グループ化されたビューを含むクエリで集合関数をサポートYes
F131-04GROUP BY および HAVING 句とグループ化されたビューを含むサブクエリYes
F131-05GROUP BY および HAVING 句とグループ化されたビューを含む単一行 SELECTYes
F181複数モジュールサポートNo
F201CAST 関数Yes
F221明示的デフォルトNo
F261CASE 式Yes
F261-01単純 CASEYes
F261-02検索 CASEYes
F261-03NULLIFYes
F261-04COALESCEYes
F311スキーマ定義文Partial
F311-01CREATE SCHEMAYes
F311-02永続ベーステーブル用の CREATE TABLEYes
F311-03CREATE VIEWYes
F311-04CREATE VIEW: WITH CHECK OPTIONNo
F311-05GRANT 文Partial
F471スカラーサブクエリ値Yes
F481拡張 NULL 述語Yes
F812基本フラグ付けNo
S011区別データ型No
T321基本 SQL 呼び出しルーチンNo
T321-01オーバーロードなしのユーザー定義関数Yes
T321-02オーバーロードなしのユーザー定義ストアドプロシージャNo
T321-03関数呼び出しYes
T321-04CALL 文No
T321-05RETURN 文No
T6311 つのリスト要素を持つ IN 述語Yes

このページは役に立ちましたか?