2013-01-18 47 views
4

SQL查詢是否有效 我一直在問這個在接受採訪時是「從表1,表2有效的查詢選擇*

+2

等等,你現在正在面試,還是早一點,你想跟進正確的答案? –

+0

請參閱[踢壞的習慣:使用舊式JOIN](http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-old-style-joins .aspx) - 用ANSI - ** 92 ** SQL標準(** 20年前**!)廢止舊式*逗號分隔的表*樣式列表。 –

回答

2

好了,你寫的查詢是不是有效查詢:

Select * 
from table 1, table 2 

數字是不允許作爲表的別名。在許多數據庫中,你可以這樣做:

select * 
from table "1", table "2" 

如果你想要數字別名。

如果您不打算前的「1」和「2」的空間中,查詢等效於:

select * 
from table1 cross join table2 

完全有效的,但cross join語法是非常理想的。

5

這是一個有效的查詢? - ?它產生的笛卡爾積兩個表它相當於此查詢在ANSI SQL語法:。

select * 
from table1 
join table2 on 1=1 

此查詢的用處是極具爭議,但

這裏是一個demo on SQLFiddle

0

這取決於您使用的數據庫。

它已經很長一段時間有效的SQL,但SQL Server的例如最近的一些版本中被刪除語法贊成使用join關鍵字。

相關問題