近日在研究SQL50時,在不用資料庫系統,常有不同做法,認真一查才發現是版本問題。
SQL 有最重要的兩個主要的標準,分別是SQL92和SQL99。 92 和99 代表了標準提出的時間,SQL92 就是92 年提出的標準規範。
當然除了SQL92 和SQL99 以外,還有SQL-86、SQL-89、SQL:2003、SQL:2008、SQL:2011 和SQL:2016 等其他的標準。
但是我們常用的是SQL92 和SQL99,它們也分別被簡稱為 SQL-2 和 標準 SQL-3 ,但是最重要差別是
1.一般來說SQL92 的形式比較簡單,但寫的SQL 語句會比較長,而且可讀性較差。
2.而SQL99 相較於SQL92 來說,文法更加複雜,但可讀性更強。
比較好的寫法用SQL99
SQL-92 |
SQL-99 |
SELECT * FROM A,B WHERE xxx |
|
|
WHERE a.team_id = b.team_id |
SELECT* FROM player NATURAL JOIN team |
| SELECT * FROM player AS p, height_grades AS h WHERE p.height BETWEEN h.height_lowest AND h.height_highest |
SELECT * FROM player as p JOIN height_grades as h ON height BETWEEN h.height_lowest AND h.height_highest |