我们可以在 MySQL SELECT 语句之间使用逗号吗?
mysqlmysqli database更新于 2024/1/9 14:20:00
是的,我们可以这样做。语法如下 −
语法1: select * from yourTableName1,yourTableName2; 语法2: select * from yourTableName1 cross join yourTableName2;
上述两种语法均产生相同的结果。
首先我们创建一个表 −
mysql> create table DemoTable1882 ( Id int ); Query OK, 0 rows affected (0.00 sec)
使用 insert 插入命令在表中插入一些记录 −
mysql> insert into DemoTable1882 values(10); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1882 values(20); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1882 values(30); Query OK, 1 row affected (0.00 sec)
使用 select 语句显示表中的所有记录 −
mysql> select * from DemoTable1882;
这将产生以下输出 −
+------+ | Id | +------+ | 10 | | 20 | | 30 | +------+ 3 rows in set (0.00 sec)
这是创建第二个表的查询 −
mysql> create table DemoTable1883 ( Id int ); Query OK, 0 rows affected (0.00 sec)
使用 insert 插入命令在表中插入一些记录 −
mysql> insert into DemoTable1883 values(100); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1883 values(101); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1883 values(102); Query OK, 1 row affected (0.00 sec)
使用 select 语句显示表中的所有记录 −
mysql> select * from DemoTable1883;
这将产生以下输出 −
+------+ | Id | +------+ | 100 | | 101 | | 102 | +------+ 3 rows in set (0.00 sec)
这是在 SELECT 语句之间使用逗号的查询 −
mysql> select * from DemoTable1882,DemoTable1883;
这将产生以下输出 −
+------+------+ | Id | Id | +------+------+ | 10 | 100 | | 20 | 100 | | 30 | 100 | | 10 | 101 | | 20 | 101 | | 30 | 101 | | 10 | 102 | | 20 | 102 | | 30 | 102 | +------+------+ 9 rows in set (0.00 sec)
这是第二个查询,得到相同的结果,如 SELECT 语句之间的逗号 −
mysql> select * from DemoTable1882 cross join DemoTable1883;
这将产生以下输出 −
+------+------+ | Id | Id | +------+------+ | 10 | 100 | | 20 | 100 | | 30 | 100 | | 10 | 101 | | 20 | 101 | | 30 | 101 | | 10 | 102 | | 20 | 102 | | 30 | 102 | +------+------+ 9 rows in set (0.00 sec)