可以对两个表执行单个 MySQL 选择查询吗?
mysqlmysqli database
是的,可以。以下是语法 −
select * from yourTableName1,yourTableName2;
首先我们创建一个表 −
mysql> create table DemoTable1 -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY -> ); Query OK, 0 rows affected (0.54 sec)
使用 insert 插入命令在表中插入一些记录 −
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)
使用 insert 插入命令在表中插入一些记录 −
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)
以下是对两个表执行选择查询的查询 −
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)