参加する。

DDD
DDDオリジナル
2024-09-18 21:16:07802ブラウズ

結合する

SQL JOIN ステートメントは、テーブル間の共通の列 (フィールド) に基づいて 2 つ以上のテーブルのデータ行を結合するために使用されます。

参加する。
これは、データベース内のテーブルを Microsoft SQL
で表示するためのものです。

use DWDiagnostics
SELECT table_name =name
  FROM sys.tables;

内部結合。

これは最も基本的な SQL 結合です。これにより、2 つのテーブルを結合できます。JOIN と INNER JOIN は同じ結果を返します。
INNER は JOIN のデフォルトの結合タイプであるため、JOIN を記述するとパーサーは INNER JOIN
を書き込みます。 構文

SELECT column name(s)
      FROM table 1
      INNER JOIN Table2 
      ON table1.column_name = table2.column_name

上は注文に関する 2 つの表です。顧客は、ラップトップを注文した顧客の電話番号を見つけたいと考えていると想像します。
SQL INNER JOIN ステートメントは、条件が満たされる限り、複数のテーブルからすべての行を返します。

  SELECT*
  FROM employee_demographics  AS dem
  INNER JOIN employee_salary AS sal
  ON dem.employee_id =sal.employee_id
;

On は、マージする列を示すために使用されます。列をマージする前に 2 つのテーブルに名前を付けることを忘れないでください。

LEFT JOIN SQL 。

SQL 左 JOIN ステートメントは、左側のテーブルのすべての行と、右側のテーブルの一致する行を返します。
LEFT JOIN は、左側のテーブルからすべての行を返し、右側のテーブルから一致する行を返します。右側のテーブルに一致するものがない場合、結果には右側のテーブルの列の NULL 値が含まれます。
結果セット: 右のテーブルに一致があるかどうかに関係なく、左のテーブルのすべての行が含まれます。
一致しない行: 右側のテーブルに一致する行がない場合、右側のテーブルの列には NULL 値が含まれます。

SELECT Employees.name, Salaries.salary
FROM Employees
LEFT JOIN Salaries
ON Employees.id = Salaries.emp_id;

右に参加してください。

右外部結合とも呼ばれます。右のテーブルからすべての行と、左のテーブルから一致する行を返す結合のタイプです。一致するものが見つからない場合は、左のテーブルに NULL 値が返されます。

SELECT column_names
FROM table1
RIGHT JOIN table2
ON table1.column = table2.column;

完全参加。

LEFT JOIN と RIGHT JOIN の両方の結果を結合します。両方のテーブルからすべての行を返します。 2 つのテーブル間に一致がある場合、結合結果には両側が含まれます。欠落したデータは NULL 値になります。
SELECT 列名
FROM table1
FULL JOIN テーブル 2
ON table1.column = table2.column;

クロス結合。

2 つのテーブルのデカルト積を返します。最初のテーブルのすべての行と 2 番目のテーブルのすべての行を結合します。

SELECT columns
FROM table1
CROSS JOIN table2;

サブクエリ - 別のクエリ内に囲まれた選択クエリです。内部選択クエリは通常、外部選択クエリの結果を決定するために使用されます。

 Select Dept from employees 
 where salary =(Select Max(Salary) from Employees);

つまり、従業員から Max(salary ) を選択します。これは最初に実行される内部クエリであり、次に外部クエリが実行されます。つまり、従業員から部門を選択します。

1.内部結合と自己結合の違いは何ですか?
自己結合は内部結合の一種です。
内部結合は、両方のテーブルに存在するレコードを返すために使用されます。一方、自己結合では、テーブルはそれ自体に結合されます。

2.完全結合とクロス結合の違いは何ですか?
左外部結合と右外部結合を組み合わせると、完全外部結合が形成されます。 ON 条件が満たされない場合は、NULL 値を挿入し、クエリの WHERE 句に一致する両方のテーブルのすべての行を返します。一方、クロス結合は、2 つのテーブルの両方の間にデカルト積を作成することにより、すべての行の可能なすべての組み合わせを返します。

3.等結合について説明します。
この種の結合では、モデルに基づいてテーブルが指定された列で効果的に結合されます。等結合機能には次のようなものがあります:

  • 列名は一致する必要はありません。
  • 結果のテーブルには重複する列が存在することがあります。
  • 2 つのテーブルで等結合を実行できます。

4.SQL のネストされた結合について説明していただけますか?
ネストされた結合は基本的に、結合テーブルを持つ一方を外部入力テーブルとして使用し、もう一方を内部入力テーブルとして使用します。ネストされたループ結合では、外部テーブルから 1 行を取得して内部テーブル内でその行を検索し、外部テーブルのすべての生成行が実際に見つかるまでこのプロセスを繰り返します。

5.自然結合とは何ですか?
自然結合では、2 つのテーブルの共有属性に基づいて暗黙的な結合句が確立されます。共有属性の名前は両方のテーブルで同じです。等結合とは異なり、自然結合には比較演算子は必要ありません。

6.フィールドとテーブルは何をしますか?
リレーショナル データベースでは、テーブルは行と列に配置されたデータ要素のグループです。テーブルを使用すると、関係を便​​利な方法で表すことができます。テーブルは、最も基本的なタイプのデータ ストレージです。

7.SET@id =6;変数に値を入れるための SQL 変数を定義するために使用されます。

8.テーブルには主キーをいくつ持つことができますか? - 1

9.NVarchar は JSON オブジェクトの保存に使用されますか?

10.COUNT(*) 関数は SQL クエリ内の行をカウントします。

以上が参加する。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。