SELECT
説明
1つ以上のテーブル、ビュー、またはマテリアライズドビューからデータをクエリします。SELECT文は一般的に以下の句で構成されます。
- WITH
- WHEREと演算子
- GROUP BY
- HAVING
- UNION
- INTERSECT
- EXCEPT/MINUS
- ORDER BY
- LIMIT
- OFFSET
- Joins
- サブクエリ
- DISTINCT
- エイリアス
SELECTは独立した文としても、他の文にネストされた句としても機能します。SELECT句の出力は他の文の入力として使用できます。
StarRocksのクエリ文は基本的にSQL92標準に準拠しています。ここではサポートされているSELECTの使用法について簡単に説明します。
NOTE
StarRocks内部テーブルのテーブル、ビュー、またはマテリアライズドビューからデータをクエリするには、これらのオブジェクトに対するSELECT権限が必要です。外部データソースのテーブル、ビュー、またはマテリアライズドビューからデータをクエリするには、 対応するexternal catalogに対するUSAGE権限が必要です。
WITH
SELECT文の前に追加できる句で、SELECT内で複数回参照される複雑な式にエイリアスを定義します。
CRATE VIEWに似ていますが、句で定義されたテーブル名とカラム名はクエリ終了後に保持されず、実際のテーブルやVIEWの名前と競合しません。
WITH句を使用する利点は以下の通りです。
クエリ内の重複を減らし、便利でメンテナンスが容易です。
クエリの最も複雑な部分を別々のブロックに抽象化することで、SQLコードを読みやすく理解しやすくします。
例:
-- 外部レベルで1つのサブクエリを定義し、UNION ALLクエリの初期段階の一部として
-- 内部レベルで別のサブクエリを定義します。
with t1 as (select 1),t2 as (select 2)
select * from t1 union all select * from t2;