1樓:匿名使用者
這倆沒區別
就是寫法不同
這個就如同表1裡有a,b倆欄位一樣
select a,b from 表1
select * from 表1
是一樣的
順便給你擴充套件下吧
在資料庫裡還有left join,right join,full join等
當這樣的時候用
select * from table1,table2 where table1.id = table2.id;
這樣類似的查詢就不行了。得用
select * from table1 left join table2 on table1.id = table2.id;這種了
2樓:匿名使用者
這兩條語句結果是等效的,查詢計劃也是等效的其中第一條語句叫做笛卡爾積,省卻了關鍵字cross joinselect * from table1 cross join table2 where table1.id = table2.id;
就這點區別了
3樓:匿名使用者
第一種寫法是sql92標準寫法
第二種寫法是sql99標準寫法 (推薦) 效果是等效的
4樓:shine戚七七
連線查詢包括合併、內連線、外連線和交叉連線,如果涉及多表查詢,瞭解這些連線的特點很重要。
只有真正瞭解它們之間的區別,才能正確使用。
1、union
union 操作符用於合併兩個或多個 select 語句的結果集。
union 運算子通過組合其他兩個結果表(例如 table1 和 table2)並消去表中任何重複行而派生出一個結果表。
當 all 隨 union 一起使用時(即 union all),不消除重複行。兩種情況下,派生表的每一行不是來自 table1 就是來自 table2。
注意:使用union時,兩張表查詢的結果有相同數量的列、列型別相似。
2、inner join(內連線)
inner join(內連線),也成為自然連線
作用:根據兩個或多個表中的列之間的關係,從這些表中查詢資料。
注意: 內連線是從結果中刪除其他被連線表中沒有匹配行的所有行,所以內連線可能會丟失資訊。
重點:內連線,只查匹配行。
3、外連線
與內連線相比,即使沒有匹配行,也會返回一個表的全集。
外連線分為三種:左外連線,右外連線,全外連線。對應sql:
left/right/full outer join。通常我們省略outer 這個關鍵字。寫成:
left/right/full join。
重點:至少有一方保留全集,沒有匹配行用null代替。
1)left outer join,簡稱left join,左外連線(左連線)
結果集保留左表的所有行,但只包含第二個表與第一表匹配的行。第二個表相應的空行被放入null值。
4、cross join(交叉連線)
交叉連線。交叉連線返回左表中的所有行,左表中的每一行與右表中的所有行組合。交叉連線也稱作笛卡爾積。
簡單查詢兩張表組合,這是求笛卡兒積,效率最低。
5樓:下天
應該是沒有什麼區別就是寫法的不同
sql多表查詢條件,sql多表查詢 條件
select 需要顯示的欄位 from 表一,表二 where 表一.姓名 表二.姓名 and 表二.學期 select max 學期 from 表二 例項如下 create table t1 s id varchar2 10 學號 s name varchar2 10 姓名 s class var...
SQL語句多表查詢,SQL同時查詢多個表
1 開啟microsoft sql server 2012,選中需要查詢所有表的資料庫。3 點選 新建查詢 後,會在右邊彈出一個框,我們需要在這裡編寫sql語句,來查詢該資料庫下的所有表結構。4 編寫sql語句,點選 執行 當然,這表語句我們可以根據實際情況,來改變條件只查詢需要的表名。5 這時,會...
sql多表查詢,急急急
樓主可以試試這個,有問題可以再交流 select b.kh,xm,yw wl,hx,sx,zz,ls,wy,hyw,cyw,ry,ty into zkcj from bmk b left join 1yw on b.kh 1yw.khleft join 2wh on b.kh 2wh.khleft ...