sql語句執行順序
1.from子句組裝來自不同數據源的數據
2.where子句基於指定的條件對記錄行進行篩選
3.group by子句將數據划分為多個分組
4.使用聚集函數進行計算
5.使用having子句篩選分組
6.計算所有的表達式
7.select 的字段
8.使用order by對結果集進行排序
sql語句解析順序
1.表名和條件字段寫錯
select * from sysuser where username='abc'
結果:ORA-00942: 表或視圖不存在
2.條件字段和查詢列寫錯
select userid from sys_user where username='abc'
結果:ORA-00904: "USERNAME": 標識符無效
3.查詢字段和group by語句寫錯
select userid from sys_user where user_name='abc' group by username
結果:ORA-00904: "USERNAME": 標識符無效
4.查詢字段和order by字段寫錯
select userid from sys_user where user_name='abc' order by username
結果:ORA-00904: "USERNAME": 標識符無效
5.group by和order by 字段寫錯
select user_id from sys_user where user_name='abc' group by username order by userid
結果:ORA-00904: "USERID": 標識符無效
6.join和where字段寫錯
select a.* from
(select * from sys_user) a
left join
(select * from sys_user) b
on (a.userid=b.user_id)
where a.username='abc'
結果:ORA-00904: "A"."USERID": 標識符無效