【Oracle】ORA-00923 FROM keyword not found where expected

我是在scott账号下练习sql中遇到的这个问题,sql如下:

列出至少有一名员工的所有部门
SELECT
	dname AS 部门名称,
	loc AS 位置
FROM
	dept 
WHERE
	deptno IN ( SELECT DISTINCT DEPTNO FROM emp )

从该错误中可以大概之后是因为FROM关键字前面的地方出现了问题,那也就是说列字段语法出现了问题,产生该问题的原因大概有两种,第一,排查FROM关键字有没有,有些人会写成FORM。 第二,是因为Oracle中比较严格,不支持单引号的使用,Oracle中只支持双引号或者不带引号,而在MySQL中全部支持。正确写法如下:

带双引号
SELECT
	dname AS "部门名称",
	loc AS "位置"
FROM
	dept 
WHERE
	deptno IN ( SELECT DISTINCT DEPTNO FROM emp )
不带引号
SELECT
	dname AS 部门名称,
	loc AS 位置
FROM
	dept 
WHERE
	deptno IN ( SELECT DISTINCT DEPTNO FROM emp )

使用哪种写法就看各位的习惯了,希望能帮助到大家!

经验分享 程序员 微信小程序 职场和发展