4

SQL クエリが有効かどうか。私はインタビューでこれを尋ねられましたか?

4

3 に答える 3

5

これは有効なクエリです。2 つのテーブルのデカルト積が生成されます。これは、ANSI SQL 構文の次のクエリと同等です。

select *
from table1
join table2 on 1=1

ただし、このクエリの有用性については非常に議論の余地があります。

これはSQLFiddleのデモです。

于 2013-01-18T02:40:30.423 に答える
2

さて、あなたが書いたクエリは有効なクエリではありません:

Select *
from table 1, table 2 

テーブルの別名として数値は使用できません。多くのデータベースでは、次のことができます。

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

数値エイリアスが必要な場合。

"1" と "2" の前にスペースを入れるつもりがなかった場合、クエリは次のようになります。

select *
from table1 cross join table2

完全に有効ですが、cross join構文ははるかに優れています。

于 2013-01-18T02:57:42.333 に答える
0

これは、使用しているデータベースによって異なります。

これは長い間有効なSQLでしたが、たとえばSQL Serverの最近のバージョンでは、joinキーワードの使用を優先して構文を削除しています。

于 2013-01-18T02:44:40.963 に答える