当前位置: 首页 > 编程笔记 >

如何在没有ON条件的情况下使用MySQL JOIN?

陶文林
2023-03-14
本文向大家介绍如何在没有ON条件的情况下使用MySQL JOIN?,包括了如何在没有ON条件的情况下使用MySQL JOIN?的使用技巧和注意事项,需要的朋友参考一下

我们可以不加条件地使用“交叉连接”。交叉联接以笛卡尔积形式给出结果。例如,如果一个表中有3条记录,而另一个表中有2条记录,则第一个记录将与所有第二个表记录匹配。然后,将重复相同的过程以进行第二次记录,依此类推。

交叉连接的例子

创建第一个表

mysql> CREATE table ForeignTableDemo
   - > (
   - > Id int,
   - > Name varchar(100),
   - > FK int
   - > );

创建第二个表

mysql> CREATE table PrimaryTableDemo
   - > (
   - >  FK int,
   - > Address varchar(100),
   - > primary key(FK)
   - > );

增加约束

mysql> ALTER table ForeignTableDemo add constraint FKConst foreign key(FK) references PrimaryTableDemo(FK);
Records: 0  Duplicates: 0  Warnings: 0

将记录添加到第二个表中。

mysql> INSERT into PrimaryTableDemo values(1,'US');

mysql> INSERT into PrimaryTableDemo values(2,'UK');

mysql>  INSERT into PrimaryTableDemo values(3,'Unknown');

显示第二个表的记录。

mysql> SELECT * from PrimaryTableDemo;

以下是上述查询的输出。

+----+---------+
| FK | Address |
+----+---------+
|  1 | US      |
|  2 | UK      |
|  3 | Unknown |
+----+---------+
3 rows in set (0.00 sec)

将记录添加到第一个表中。

mysql>  INSERT into ForeignTableDemo values (1,'John',1);

mysql>  INSERT into ForeignTableDemo values (2,'Bob',2);

使用SELECT命令显示记录。

mysql> SELECT * from ForeignTableDemo;

以下是输出。

+------+------+------+
| Id   | Name | FK   |
+------+------+------+
|    1 | John |    1 |
|    2 | Bob  |    2 |
+------+------+------+
2 rows in set (0.00 sec)

我们对所有表进行了外键约束。现在,要在不使用ON的情况下使用“交叉连接”,让我们看看语法。

mysql> SELECT ForeignTableDemo.Id, ForeignTableDemo.Name, PrimaryTableDemo.Address
   - > from ForeignTableDemo
   - > cross join PrimaryTableDemo;

这是输出。

+------+------+---------+
| Id   | Name | Address |
+------+------+---------+
|    1 | John | US      |
|    2 | Bob  | US      |
|    1 | John | UK      |
|    2 | Bob  | UK      |
|    1 | John | Unknown |
|    2 | Bob  | Unknown |
+------+------+---------+
6 rows in set (0.00 sec)
 类似资料:
  • 我有一个链接服务器,正在尝试删除链接服务器中的表中的某些内容。我正在使用transaction并尝试在存储过程中捕获,如下所示。 使用此代码,我在事务中有许多插入和删除。它给出了这个错误:链接服务器“服务器”的OLE DB提供程序“SQLNCLI11”返回消息“没有事务处于活动状态”。 我了解到,如果我在它上面使用SET XACT_ABORT,它将丢弃任何进程,如果它在运行时遇到任何错误,它将自动

  • 我正在玩grpc 有人成功使用进行生产吗?我们需要包括特使在内的所有依赖项吗?

  • 我看到的所有解决方案都需要使用。但是,我想在Eclipse之外的单个文件上使用CDT解析器。那有什么办法吗?

  • 问题内容: 我在整个应用程序中都使用spring 。现在,我也想为一个没有的创建一个。那有可能吗? 问题答案: JPA要求每个实体都有一个ID。因此,不可以,没有ID的实体是不允许的。 每个JPA实体都必须有一个主键。 从JPA规范 您可能想从这里阅读更多有关JPA如何处理数据库端没有ID的情况的信息(请参阅“无主键”)。

  • 我正在尝试将使用webpack转译. vue文件的Vue项目的绝对最低示例放在一起。 我的目标是详细了解每个构建步骤。大多数教程建议使用并使用config。尽管这种设置很有效,但对于我的简单目的来说,似乎有些过头了。目前,我不想要babel、linting或带有热模块重新加载的实时web服务器。 一个简单的例子,只需就可以了!Webpack将vue库和我自己的代码编译成一个包。 但现在,我想将vu

  • 我们有一个应用程序,将部署在具有不同IP的服务器上。JNLP是在构建时生成的。因此,我们定义了没有代码库的JNLP: 然而,当第二次启动这个应用程序时(从第一次启动时创建的桌面图标),代码库被设置为本地文件系统,这是绝对无用的。我希望Java Webstart在第一次启动应用程序时使用实际的源地址设置代码库。这似乎不是真的。 我如何准备一个通用的JNLP,它可以在不同的服务器上使用而无需修改?