MySQLチュートリアル

MySQLホーム MySQLイントロ MySQL RDBMS

MySQL SQL

MySQL SQL MySQL SELECT MySQL WHERE MySQL AND、OR、NOT MySQL ORDER BY MySQL INSERT INTO MySQLNULL値 MySQL UPDATE MySQLDELETE MySQL LIMIT MySQLMINおよびMAX MySQL COUNT、AVG、SUM MySQL LIKE MySQLワイルドカード MySQL IN MySQL BETWEEN MySQLエイリアス MySQLが参加します MySQL内部結合 MySQL LEFT JOIN MySQL RIGHT JOIN MySQL CROSS JOIN MySQL自己結合 MySQL UNION MySQL GROUP BY MySQL HAVING MySQLが存在します MySQL ANY、ALL MySQL INSERT SELECT MySQLケース MySQLヌル関数 MySQLコメント MySQL演算子

MySQLデータベース

MySQL Create DB MySQLドロップDB MySQLテーブルの作成 MySQLドロップテーブル MySQL ALTER TABLE MySQLの制約 MySQLはNullではありません MySQLユニーク MySQLプライマリキー MySQL外部キー MySQLチェック MySQLのデフォルト MySQL CreateIndex MySQL自動インクリメント MySQLの日付 MySQLビュー

MySQLリファレンス

MySQLデータ型 MySQL関数

MySQLの

MySQLの例 MySQLクイズ MySQL演習

MySQL CROSSJOINキーワード


SQL CROSSJOINキーワード

CROSS JOINキーワードは、両方のテーブル(table1とtable2)からすべてのレコードを返します

MySQL CROSS JOIN

CROSSJOIN構文

SELECT column_name(s)
FROM table1
CROSS JOIN table2;

注: CROSS JOIN非常に大きな結果セットを返す可能性があります。


デモデータベース

このチュートリアルでは、よく知られているNorthwindサンプルデータベースを使用します。

以下は、「顧客」テーブルからの抜粋です。

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico

そして、「注文」テーブルからの選択:

OrderID CustomerID EmployeeID OrderDate ShipperID
10308 2 7 1996-09-18 3
10309 37 3 1996-09-19 1
10310 77 8 1996-09-20 2


MySQL CROSSJOINの例

次のSQLステートメントは、すべての顧客とすべての注文を選択します。

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
CROSS JOIN Orders;

注:このCROSS JOINキーワードは、他のテーブルが一致するかどうかに関係なく、両方のテーブルから一致するすべてのレコードを返します。したがって、「注文」に一致しない行が「顧客」にある場合、または「顧客」に一致しない行が「注文」にある場合、それらの行もリストされます。

句を追加するWHEREと(table1とtable2に関係がある場合)、はCROSS JOINと同じ結果を生成します。INNER JOIN

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
CROSS JOIN Orders
WHERE Customers.CustomerID=Orders.CustomerID;