在两个表上进行单个 MySQL select 查询是否可行?


是的,这样的查询是可行的。以下是语法 −

select * from yourTableName1,yourTableName2;

我们先创建一个表 −

mysql> create table DemoTable1
   -> (
   -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY
   -> );
Query OK, 0 rows affected (0.54 sec)

使用插入命令在表中插入一些记录 −

mysql> insert into DemoTable1 values(),(),();
Query OK, 3 rows affected (0.14 sec)
Records: 3  Duplicates: 0  Warnings: 0

使用 select 语句从表中显示所有记录 −

mysql> select * from DemoTable1;

这些代码将生成以下输出 −

+----+
| Id |
+----+
|  1 |
|  2 |
|  3 |
+----+
3 rows in set (0.00 sec)

以下是对第二个表进行查询的语句 −

mysql> create table DemoTable2
   -> (
   -> FirstName varchar(10)
   -> );
Query OK, 0 rows affected (0.58 sec)

使用插入命令在表中插入一些记录 −

mysql> insert into DemoTable2 values('Chris'),('David'),('Sam');
Query OK, 3 rows affected (0.10 sec)
Records: 3  Duplicates: 0  Warnings: 0

使用 select 语句从表中显示所有记录 −

mysql> select * from DemoTable2;

这些代码将生成以下输出 −

+-----------+
| FirstName |
+-----------+
| Chris     |
| David     |
| Sam       |
+-----------+
3 rows in set (0.00 sec)

以下是针对两个表执行 select 查询的语句 −

mysql> select Id,FirstName from DemoTable1,DemoTable2;

这些代码将生成以下输出 −

+----+-----------+
| Id | FirstName |
+----+-----------+
|  1 | Chris     |
|  2 | Chris     |
|  3 | Chris     |
|  1 | David     |
|  2 | David     |
|  3 | David     |
|  1 | Sam       |
|  2 | Sam       |
|  3 | Sam       |
+----+-----------+
9 rows in set (0.00 sec)

更新日期:2019 年 12 月 10 日

221 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始
广告