• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
LOFLY
终其一生,编织快乐
博客园    首页    新随笔    联系   管理    订阅  订阅

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');

posted @ 2024-07-22 11:16  编织快乐  阅读(14)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3