Oracle使用*的注意事項

DawnTraveler發表於2024-03-06

1.問題

這裡執行下述程式碼提示: ORA-00936: 缺失表示式

SELECT *
FROM ( 
		SELECT ROWNUM AS rm, *
		FROM (
			SELECT prod_name, prod_price 
			FROM PRODUCTS
			ORDER BY PROD_PRICE DESC
		) t1
		WHERE ROWNUM <= 6
	) t2
WHERE rm > 3;

2.解決

參考:oracle查詢*時所需注意事項
如果既要使用,又要手動再選擇某個欄位
此時如果使用select ,name from table是會報錯的
[936] [42000]: ORA-00936: 缺失表示式
[42000][923] ORA-00923: 未找到要求的FROM 關鍵字 等等
當我們需要使用
也需要再增加某些欄位時,需要使用表別名來實現,如下
select t.* ,name ,address from table t
需要將表別名來引用

相關文章