Skip to content
Skip to content
Menu
Info Cafe
Info Cafe

SQLite CROSS JOIN with a practical example

By admin on 2月 19, 2021

概要: このチュートリアルでは、SQLite の CROSS JOIN を使用して、複数のテーブルからの 2 つ以上の結果セットを結合する方法を学びます。

Introduction to SQLite CROSS JOIN clause

もし、LEFT JOININNER JOINCROSS JOINONUSINGCROSS JOIN を使用すると、SQLite は関係するテーブルの Cartesian Product を生成します。

例えば、2つのテーブルAとBがあるとします。以下のステートメントは、クロスジョインを実行し、AとBのテーブルの行のカルテシアンプロダクトを生成します。

SELECT *FROM A JOIN B;
Code language: SQL (Structured Query Language) (sql)
SELECT *FROM AINNER JOIN B;
Code language: SQL (Structured Query Language) (sql)
SELECT *FROM ACROSS JOIN B;
Code language: SQL (Structured Query Language) (sql)
SELECT * FROM A, B;
Code language: SQL (Structured Query Language) (sql)

仮に。 AテーブルがN行、BテーブルがM行の場合、これら2つのテーブルのCROSS JOINNxM行を含む結果セットを生成します。

3番目のテーブルCにKCROSS JOINNxMxK行が含まれ、非常に巨大なものになる可能性があることを想像してみてください。

INNER JOINLEFT JOINCROSS JOINCROSS JOIN句が非常に役立つ場合もあります。

例えば、会員データベースの会員や日付データのように、完全にデータで埋め尽くされた2つの次元を持つマトリックスを持ちたい場合。 会員の出席者を、関連するすべての日付でチェックしたいとします。 この場合、CROSS JOIN句を以下のように記述します。

SELECT name, date FROM membersCROSS JOIN dates;
Code language: SQL (Structured Query Language) (sql)

SQLite CROSS JOIN句の例

以下のステートメントは、カードのデッキのランクとスーツを格納するrankssuitsのテーブルを作成し、これら2つのテーブルに完全なデータを挿入します。

CREATE TABLE ranks ( rank TEXT NOT NULL);CREATE TABLE suits ( suit TEXT NOT NULL);INSERT INTO ranks(rank) VALUES('2'),('3'),('4'),('5'),('6'),('7'),('8'),('9'),('10'),('J'),('Q'),('K'),('A');INSERT INTO suits(suit) VALUES('Clubs'),('Diamonds'),('Hearts'),('Spades');
Code language: SQL (Structured Query Language) (sql)

次のステートメントでは、CROSS JOIN句を使用して、カードのデッキの完全なデータを返します。

SELECT rank, suit FROM ranks CROSS JOIN suitsORDER BY suit;
Code language: SQL (Structured Query Language) (sql)

div

d

tr

J

tr

tr

d

7

tr

tr

tr

7

8

9

Q

K

td

ランク スート
2 クラブ
3 クラブ
4 クラブ
5 クラブ
6 クラブ
7 クラブ
8 クラブ
9 クラブ
10 クラブ
クラブ
Q クラブ
K クラブ
A クラブ
2 2 ダイアモンド
3 ダイアモンド
4 ダイアモンド
5 ダイアモンド
ダイアモンド 6 ダイヤモンド
7 ダイヤモンド
8 ダイヤモンド
9 ダイヤモンド
10 ダイアモンド
J ダイアモンド
Q ダイアモンド
K ダイアモンド ダイヤモンド
A ダイヤモンド
2 ハート
3 ハート
4 ハート
5 ハート
6 ハート
ハート
8 Hearts
9 Hearts
10 Hearts
J Hearts ハーツ
Q ハーツ
K ハーツ
A ハーツ
2 スペード
3 スペード
4 スペード
5 スペード
スペード 6 スペード
スペード
スペード
スペード
10 スペード
J スペード
スペード
スペード
A スペード

このチュートリアルでは、SQLの使用方法を学びました。 SQLiteのCROSS JOIN句を使用して、結合した複数のテーブルのデカルト積を生成する方法を学びました。

  • このチュートリアルは役に立ちましたか?
  • YesNo

投稿ナビゲーション

For What Matters Most.
Pneumonia in the context of severe sepsis: a significant diagnosis problem

コメントを残す コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

最近の投稿

  • Firebush (日本語)
  • 9 Best Dog Vitamins And Supplements For Enhanced Health
  • 2021年のCDレート予測。 金利はおそらく低水準で推移するが、年の後半には上昇するかもしれない
  • 慢性骨盤痛症候群と前立腺炎:症状、診断と治療
  • ミックスベリー・クリスプ
  • Low-Carb Chocolate Pudding Recipe
  • 1歳を過ぎた母乳育児のメリット
  • Is it Safe to Dump Coffee Grounds Down the Sink|Atomic Plumbing
  • Cool-Down After Your Workout (日本語)
  • Our Work (日本語)

メタ情報

  • ログイン
  • 投稿フィード
  • コメントフィード
  • WordPress.org

アーカイブ

  • 2021年3月
  • 2021年2月
  • 2021年1月
  • 2020年12月
  • DeutschDeutsch
  • NederlandsNederlands
  • EspañolEspañol
  • FrançaisFrançais
  • PortuguêsPortuguês
  • ItalianoItaliano
  • PolskiPolski
  • 日本語日本語
©2021 Info Cafe | WordPress Theme by SuperbThemes.com