技術共有

SQL の基本 - DQL の概要

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina


学習目標:

  • 1. DQL (Data Query Language) の基本的な概念と機能を理解します。

  • 2. SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY およびその他の句の使用を含む、SQL クエリの基本的な文法構造をマスターします。

  • 3. 論理演算子 (AND、OR、NOT) および比較演算子 (=、<>、>、<、>=、<=) の使用を含む、条件付きフィルター処理のための WHERE 句を理解し、使用できるようになります。

  • 4. GROUP BY 句を使用してクエリ結果をグループ化し、データの統計分析に集計関数 (COUNT、SUM、AVG、MAX、MIN など) を使用できるようにします。

  • 5. HAVING 句を使用して、グループ化された結果を条件付きでフィルター処理する方法を学びます。

  • 6. ORDER BY 句を使用してクエリ結果を並べ替え (単一列の並べ替えや複数列の並べ替えなど)、ASC キーワードと DESC キーワードを使用して並べ替え方向を指定できることを理解し、使用できるようになります。

  • 7. SELECT、FROM、WHERE 句でのサブクエリのネストなど、サブクエリの使用法をマスターします。

  • 8. DISTINCT キーワードを理解し、クエリ結果内の重複レコードを削除するために使用できるようになります。

  • 9. LIMIT 句を使用してクエリ結果の数を制限する方法を学びます。


学習内容:

DQL (データ クエリ言語) は SQL (構造化クエリ言語) の重要な部分であり、特にデータベースからデータを取得するために使用されます。これにより、ユーザーはデータ自体を変更せずにクエリ ステートメントを記述してデータベースから情報をリクエストできるようになります。 DQL の中核は SELECT ステートメントであり、データベース クエリで最もよく使用されるコマンドの 1 つです。

  • 選択する

SELECT 句は、データベースから取得する列を指定するために使用されます。これには、単一の列名を指定することも、複数の列名を指定することも、アスタリスク (*) を使用してすべての列を選択することもできます。

SELECT column1, column2, ...
FROM table_name;
  • 1
  • 2
  • から

FROM 句は、データを取得するテーブルを指定するために使用されます。

SELECT column1, column2, ...
FROM table_name;
  • 1
  • 2
  • どこ

WHERE この句は、結果セットをフィルタリングし、指定された条件を満たすレコードのみを返すために使用されます。

SELECT column1, column2, ...
FROM table_name
WHERE condition;
  • 1
  • 2
  • 3
  • グループ化

GROUP BY 句は結果セット内のデータをグループ化するために使用され、通常は COUNT()、SUM()、AVG()、MAX()、MIN() などの集計関数とともに使用されます。

SELECT column1, COUNT(column2)
FROM table_name
GROUP BY column1;
  • 1
  • 2
  • 3
  • 持つ

HAVING 句は次のために使用されますGROUP BY句によって返される結果セットは、次のように条件付きでフィルタリングされます。WHERE条項ですが、HAVING集計関数を使用できます。

SELECT column1, COUNT(column2)
FROM table_name
GROUP BY column1
HAVING COUNT(column2) > 10;
  • 1
  • 2
  • 3
  • 4
  • 注文する

ORDER BY 句は結果セットをソートするために使用され、1 つ以上の列を指定でき、ソートの方向 (昇順 ASC または降順 DESC) を指定できます。

SELECT column1, column2, ...
FROM table_name
ORDER BY column1 ASC, column2 DESC;
  • 1
  • 2
  • 3
  • オペレーター

SQLでは、WHERE句は、データベース テーブルからデータを取得するための条件を指定するために使用されます。論理演算子 (AND、OR、NOT) と比較演算子 (=、<>、>、<、>=、<=) を使用すると、複雑なクエリ条件を作成してデータをフィルタリングできます。

これらの演算子の使用例をいくつか示します。

  1. 比較演算子を使用します。

    • = 等しい
    • <> 等しくない
    • > 以上
    • < 未満
    • >= 以上
    • <= 以下
  2. 論理演算子を使用します。

    • AND すべての条件が true の場合にのみレコードが選択されるように、複数の条件を組み合わせるために使用されます。
    • OR 複数の条件を組み合わせるために使用されます。1 つの条件が true である限り、レコードが選択されます。
    • NOT 条件の結果を反転するために使用されます。

これらの演算子を使用する場合は、演算子の優先順位に注意する必要があります。 SQLでは、NOT が最も優先され、次にAND、その後 OR 。優先順位が不明な場合は、括弧を使用できます。() 操作の順序を明示的に指定します。

  • ASC と DESC

SQLクエリでは、ASC そしてDESC キーワードは、列のソート方向を指定するために使用されます。ASC は昇順 (低いものから高いものへ) を意味します。DESC 降順(高いものから低いものへ)を示します。デフォルトでは、ソート方向が指定されていない場合、SQL クエリは昇順ソートを使用します。

  1. 昇順に並べ替えます:
SELECT * FROM employees
ORDER BY salary ASC;
  • 1
  • 2

このクエリは、給与によって昇順に並べ替えられたすべての従業員レコードを返します。

  1. 降順に並べ替えます。
SELECT * FROM employees
ORDER BY salary DESC;
  • 1
  • 2

このクエリは、給与の降順で並べ替えられたすべての従業員レコードを返します。

  1. 組み合わせるGROUP BYそしてHAVING句の順序:
SELECT department, AVG(salary) AS avg_salary
FROM employees
GROUP BY department
HAVING AVG(salary) > 50000
ORDER BY avg_salary DESC;
  • 1
  • 2
  • 3
  • 4
  • 5

このクエリは各部門の平均給与を返し、平均給与が 50,000 を超える部門のみが含まれます。結果は平均給与の降順で並べ替えられます。


要約する


画像出典: https://www.bilibili.com/video/BV1Kr4y1i7ru?p=24&spm_id_from=pageDriver&vd_source=1f3140ce51cb028326bf69f5117609d8