多表聯查:
select p.*,s.sheng , i.shi
from [dbo].[productrecordinfo] --表名
p left join [shenginfo] s on p.shenginfo = s.shengid --使用left join左連線 讓兩個表中的指定字段產生連線關係
left join [shiinfo] i on p.shiinfo = i.shiid --使用left join左連線 讓三個表中的指定字段產生連線關係
這裡的 on 就類似於where,後面的條件可以自己寫
執行結果如下:
分頁sql語句:
使用row_number()函式進行編號
select * from (selectrow_number() over (order by id asc) as idd ,*from productrecordinfo) a where a.idd>=1 and a.idd<=3
先按id進行排序,排序完後,給每條資料進行編號。
在這個語句中row_number()函式將針對select語句返回的每一行,從1開始編號,賦予其連續的編號。在查詢時應用了乙個排序標準後,只有通過編號才能夠保證其順序是一致的,當使用row_number函式時,也需要專門一列用於預先排序以便於進行編號
執行結果如下:
最後如果想用ado 做顯示分頁功能的話,就需要把多表聯查跟分頁結合起來,拼接語句如下:
select * from(
select *, row_number() over(order by id asc) row from
(select p.*,s.sheng,i.shi,a.pinpai
from [dbo].[productrecordinfo]
p left join [shenginfo] s on p.shenginfo = s.shengid
left join [shiinfo] i on p.shiinfo = i.shiid
left join[dbo].[pinpaiinfo] a on p.pinpaiinfo=a.aid)t1)t2
where t2.row between 1 and 3
結果如下:
注意事項:我們在進行資料庫多表聯查中必定會用到這些sql關鍵字,如果不弄清楚他們的區別,那就寫不出來我們專案需要的查詢條件。
mysql 多表聯查 MySQL的多表聯查
今天是周二,我們一起來研究下mysql的多表聯查啊。或許你也知道,表之間的關係有 1對1 1對多 多對多。然後.1.巢狀查詢 乙個查詢的結果是另外sql查詢的條件 如 查詢stu表中年齡最大的是誰?mysql select from stu where age select max age from...
多表聯查(多表連線)(join)
多表聯查 多表連線 join 1 分類 內連線 自然連線 外鏈結 左外連線 右外連線 全外連線 mysql不支援 2 內連線 inner join 等值連線,制定對應的等值條件 select from emp,dept 得到的資料是不對的 得到的資料叫做笛卡爾積 結果是兩個表資料的乘積 使用內連線去...
jpi多表聯查 多表查詢
select查詢不但可以從一張表查詢資料,還可以從多張表同時查詢資料。查詢多張表的語法是 select from 例如,同時從students表和classes表的 乘積 即查詢資料,可以這麼寫 from students,classes select from students,classes 這...