SQLite CROSS JOIN 子句
SQLite CROSS Join Clause
在本教程中,您将学习如何使用 SQLite CROSS JOIN 组合来自多个表的两个或多个结果集。
如果您使用不带 ON 或 USING 子句的 LEFT JOIN、INNER JOIN 或 CROSS JOIN,SQLite 将生成相关表的笛卡尔积。笛卡尔积中的行数是每个表中行数的乘积。
假设我们有两个表 A 和 B。以下语句执行交叉连接并生成 A 和 B 表中行的笛卡尔积。
例如,当您想要一个包含二维数据的矩阵时,该矩阵中填充了会员数据库中的会员和日期数据。您想检查所有相关日期的会员出勤情况。在这种情况下,您可以使用 CROSS JOIN 子句,如下所示:
SELECT
name,
date
FROM
members
CROSS JOIN dates;
SQLite CROSS JOIN 子句的例子
以下语句创建用于存储一副牌的等级和花色的等级表和花色表,并将数据插入这两个表中。
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');
浙公网安备 33010602011771号