2013-01-18 48 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关键字。

相关问题