Hsqldb-joins
HSQLDB-結合
単一のクエリを使用して複数のテーブルからデータを取得する必要がある場合は、RDBMSからJOINSを使用できます。 単一のSQLクエリで複数のテーブルを使用できます。 HSQLDBに参加するという行為は、2つ以上のテーブルを1つのテーブルに粉砕することを指します。
次の顧客と注文の表を検討してください。
次に、顧客のデータと、それぞれの顧客が発注した注文金額を取得してみましょう。 これは、顧客テーブルと注文テーブルの両方からレコードデータを取得していることを意味します。 これを実現するには、HSQLDBのJOINSコンセプトを使用します。 以下は、同じものに対するJOINクエリです。
上記のクエリを実行すると、次の出力が表示されます。
結合タイプ
HSQLDBにはさまざまな種類の結合があります。
- INNER JOIN -両方のテーブルに一致がある場合に行を返します。
- LEFT JOIN -右のテーブルに一致がない場合でも、左のテーブルからすべての行を返します。
- RIGHT JOIN -左のテーブルに一致がない場合でも、右のテーブルからすべての行を返します。
- FULL JOIN -いずれかのテーブルに一致する行を返します。
- SELF JOIN -テーブルが2つのテーブルであるかのようにテーブルをそれ自体に結合するために使用され、SQLステートメントの少なくとも1つのテーブルの名前を一時的に変更します。
内部結合
最も頻繁に使用され、重要な結合はINNER JOINです。 EQUIJOINとも呼ばれます。
INNER JOINは、結合述語に基づいて2つのテーブル(table1とtable2)の列値を結合することにより、新しい結果テーブルを作成します。 クエリは、table1の各行とtable2の各行を比較して、結合述語を満たす行のすべてのペアを見つけます。 結合述語が満たされると、行AとBの各一致ペアの列値が結合されて結果行になります。
構文
INNER JOINの基本的な構文は次のとおりです。
例
次の2つのテーブルを検討してください。1つはCUSTOMERSテーブル、もう1つはORDERSテーブルというタイトルです。
さて、次のようにINNER JOINクエリを使用してこれらの2つのテーブルを結合しましょう-
上記のクエリを実行すると、次の出力が表示されます。
左結合
HSQLDB LEFT JOINは、右のテーブルに一致するものがない場合でも、左のテーブルからすべての行を返します。 つまり、ON句が右側のテーブルの0(ゼロ)レコードと一致する場合、結合は結果に行を返しますが、右側のテーブルの各列にはNULLを返します。
これは、左結合が左テーブルのすべての値に加えて、右テーブルの一致した値、または一致する結合述語がない場合はNULLを返すことを意味します。
構文
LEFT JOINの基本的な構文は次のとおりです-
ここで、特定の条件は、要件に基づいて任意の特定の式にすることができます。
例
次の2つのテーブルを検討してください。1つはCUSTOMERSテーブル、もう1つはORDERSテーブルというタイトルです。
さて、次のようにLEFT JOINクエリを使用してこれら2つのテーブルを結合しましょう-
上記のクエリの実行後、次の出力が表示されます-
右結合
HSQLDB RIGHT JOINは、左のテーブルに一致するものがない場合でも、右のテーブルのすべての行を返します。 これは、ON句が左側のテーブルの0(ゼロ)レコードと一致する場合、結合は結果に行を返しますが、左側のテーブルの各列にNULLを返すことを意味します。
これは、右結合が右テーブルのすべての値に加えて、左テーブルの一致した値、または一致する結合述部がない場合はNULLを返すことを意味します。
構文
例
次の2つのテーブルを検討してください。1つはCUSTOMERSテーブル、もう1つはORDERSテーブルというタイトルです。
さて、次のようにRIGHT JOINクエリを使用してこれらの2つのテーブルを結合しましょう-
上記のクエリを実行すると、次の結果が表示されます。
完全参加
HSQLDB FULL JOINは、左右の外部結合の結果を結合します。
結合されたテーブルには、両方のテーブルのすべてのレコードが含まれ、どちらかの側で欠落している一致に対してNULLが入力されます。
構文
FULL JOINの基本的な構文は次のとおりです-
ここで、特定の条件は、要件に基づいて任意の特定の式にすることができます。
例
次の2つのテーブルを検討してください。1つはCUSTOMERSテーブル、もう1つはORDERSテーブルというタイトルです。
さて、次のようにFULL JOINクエリを使用してこれらの2つのテーブルを結合しましょう-
上記のクエリを実行すると、次の結果が表示されます。
自己参加
SQL SELF JOINは、テーブルが2つのテーブルであるかのようにテーブルをそれ自体に結合するために使用され、SQLステートメントで少なくとも1つのテーブルの名前を一時的に変更します。
構文
SELF JOINの基本的な構文は次のとおりです-
ここで、WHERE句は、要件に基づいて任意の式にすることができます。
例
次の2つのテーブルを検討してください。1つはCUSTOMERSテーブル、もう1つはORDERSテーブルというタイトルです。
さて、次のようにSELF JOINクエリを使用してこのテーブルを結合しましょう-
上記のクエリの実行後、次の出力が表示されます-