selecta.shopid,a.name,a.timeb.intentfrom表一a,表二bwherea.shopid=b.shopidorderbyb.intentdescselecta.shopid,a.name,a.timeb.intentfrom表一ainnerjoin表二bona.shopid=b.shopidorderbyb.intentdesc。
- 情感問答
- 答案列表
多表查詢sql語句:sql多表查詢格式[朗讀]
一般情況下沒錯,但是最好把"="改成"in".為什麼呢?因為你不能保證(selecttop1h.fidfromhwhereh.time>'2012-10-2900:00:00'groupbyh.fidorderbycount(h.fid)desc)的結果只有一個值,舉個例子:有兩個帖子都回復了10次,其他帖子都在10次以下,這時候你的這個子查詢的結果是兩個h.fid,也就是那兩個回復10次的(並列第一),而不是一個?
innerjoinon和where都能實現多表查詢.selecttable1.*,table2.*fromtable1innerjointable2ontable1.id=table2.idselecttable1.*,table2.*fromtable1,table2wheretable1.id=table2.id。
使用sql語句進行多表查詢需要使用資料庫的連接.sql中德連結分為內連結,外連接(左外連接,右外連接),交叉連結根據業務的不同選取不同的連接方式.內連接:
sql中多表查詢可以使用連結查詢1、unionunion[all]all:表示將查詢的所有結果都合併到結果集中,若不加all會將重複的行只保留一行--示例:select*fromaunionselect。