パート 1 - 結合とユニオン
内部結合を使用した 2 つ以上のテーブルの結合
select
a.ID,
b.model
from
cars a
join models b
on a.model=b.ID
ログイン後にコピー
ログイン後にコピー
ユニオン クエリの使用
select
a.ID,
b.model,
c.color
from
cars a
join models b
on a.model=b.ID
join colors c
on a.color=c.ID
where
b.ID=1
union all
select
a.ID,
b.model,
c.color
from
cars a
join models b
on a.model=b.ID
join colors c
on a.color=c.ID
where
b.ID=3
ログイン後にコピー
左右外側結合
select
a.brand
from
brands a
left outer join cars b
on a.ID=b.brand
ログイン後にコピー
交差クエリ
select
*
from
colors
where
ID>2
intersect
select
*
from
colors
where
id<4
ログイン後にコピー
パート 2 - サブクエリ
サブクエリとは何か、使用できる場所、注意すべき点
サブクエリは、別の select 内にネストされた select ステートメントです。 声明。サブクエリを使用すると、フィルタリング、並べ替え、集計などの複雑なデータ取得操作を実行できます。
サブクエリが使用できる場所
サブクエリは次の場所で使用できます。 places:
- によって返される行をフィルタリングするための WHERE 句内外部クエリ。
- 外部クエリによって返される行のグループをフィルタリングする HAVING 句。
- 外部クエリによって返される列を指定する SELECT 句。
- FROM 句で、外部結合されるテーブルを指定します。 query.
注意すべき点
サブクエリを使用する場合は、次の点に注意することが重要です。
- サブクエリは実行コストが高くなる可能性があるため、必要な場合にのみ使用することが重要です。
- サブクエリ読みにくく理解するのが難しい場合があるため、それらを十分に文書化することが重要です。
- サブクエリは SQL インジェクション攻撃に対して脆弱である可能性があるため、動的 SQL でサブクエリを使用する場合はパラメータ化されたクエリを使用することが重要です。
パート 3 - コツと効率的コード
トリック
- クエリを読みやすく理解しやすくするには、テーブル名にエイリアスを使用します。
- サブクエリをグループ化するにはかっこを使用します。読みやすく理解しやすくします。
- EXPLAIN ステートメントを使用して、クエリはデータベースによって実行されています。
- インデックスを使用してクエリのパフォーマンスを向上させます。
効率的なコード
- 列には正しいデータ型を使用してください。
- 列で SELECT * を使用しないでください。
- クエリによって返される行をフィルタリングするには、WHERE 句を使用します。
- クエリによって返される行を並べ替えるには、ORDER BY 句を使用します。
- LIMIT 句を使用して、返される行数を制限します。 queries.
パート 4 - From 句のサブクエリ
サブクエリを FROM 句で使用して、外部クエリによって結合されるテーブルを指定できます。これは派生テーブルと呼ばれます。派生テーブルを使用すると、フィルタリング、並べ替え、集計などの複雑なデータ取得操作を実行できます。
次の例は、FROM 句でサブクエリを使用して、外部クエリによって返される行をフィルタリングする方法を示しています。クエリ:
select
a.ID,
b.model
from
cars a
join models b
on a.model=b.ID
ログイン後にコピー
ログイン後にコピー
パート 5 - ジョンのトリックの混合バッグ
ジョンのトリック
- 条件付きで式を評価するには CASE ステートメントを使用します。
- COALESCE 関数を使用して、リスト内の最初の非 NULL 値を返します。式。
- 式のリスト内の最大値を返すには、GREATEST 関数を使用します。
- 式のリスト内の最小値を返すには、LEAST 関数を使用します。
- MOD 関数を使用して、除算演算の余りを計算します。
- NOW 関数を使用して、現在の日付と
- RAND 関数を使用して乱数を生成します。
- ROUND 関数を使用して数値を最も近い整数に丸めます。
- TRUNCATE 関数を使用して切り捨てます。数値を指定した小数点以下の桁数に変換します。
以上が結合、ユニオン、サブクエリ、および高度な関数を使用して SQL クエリを最適化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。