
| 7499 | 郭赵 | 推销员 | 7698 | 1981-02-20 | 1600 | 300 | 3 |
| 7521 | 高宋 | 推销员 | 7698 | 1981-02-22 | 1250 | 500 | 3 |
| 7566 | 高张杜 | 经理 | 7839 | 1981-04-02 | 2975 | NULL | 2 |
| 7654 | 余黄 | 推销员 | 7698 | 1981-09-28 | 1250 | 1400 | 3 |
| 7698 | 胡黄杜 | 经理 | 7839 | 1981-05-01 | 2850 | NULL | 3 |
...
* 可以便于快速编写一些临时查询,但是在实际项目中不要使用这种写法。因为应用程序
可能并不需要所有的字段,避免返回过多的无用数据;另外,当表结构发生变化时,* 返
回的信息也会发生改变。最好是列出所有字段的名字,并使用逗号 , 分隔开。
mysql> SELECT empno,ename,job,manager,hiredate,salary,bonus,deptno FROM emp;
+-------+-----------+-----------+---------+------------+--------+-------+--------+
| empno | ename | job | manager | hiredate | salary | bonus | deptno |
+-------+-----------+-----------+---------+------------+--------+-------+--------+
| 7369 | 苏杨孙 | 业务员 | 7902 | 1980-12-17 | 800 | NULL | 2 |
| 7499 | 郭赵 | 推销员 | 7698 | 1981-02-20 | 1600 | 300 | 3 |
| 7521 | 高宋 | 推销员 | 7698 | 1981-02-22 | 1250 | 500 | 3 |
| 7566 | 高张杜 | 经理 | 7839 | 1981-04-02 | 2975 | NULL | 2 |
| 7654 | 余黄 | 推销员 | 7698 | 1981-09-28 | 1250 | 1400 | 3 |
| 7698 | 胡黄杜 | 经理 | 7839 | 1981-05-01 | 2850 | NULL | 3 |
...
没有 FROM 的 SELECT
某些情况下检索的数据不存在于任何表中,这时可以省略 FROM 子句。比如下面的这几种情
况:
1).查询系统时间
mysql> SELECT NOW();
+---------------------+
| NOW() |
+---------------------+
| 2023-10-09 15:03:00 |
+---------------------+
1 row in set (0.00 sec)
2).数值计算
mysql> SELECT 1+2;
+-----+
| 1+2 |
+-----+
| 3 |
+-----+
1 row in set (0.00 sec)
虚拟表 dual
像上面的没有 FROM 子句的情况,也可以添加一个虚拟表 dual。
mysql> SELECT NOW() FROM dual;
+---------------------+
评论