資料庫多表查詢SQL語句

2021-07-05 10:35:49 字數 1314 閱讀 3469

最近在做「進銷存業務系統」,作為專案組成員的一部分,我負責統計查詢,簡單說就是多表查詢,網上有很多,但是很明確的卻沒有,所以讓我這個初學者了費,最終還是搞出來了,在這裡也和大家共享一下成果和其中出現的問題,高手可繞道,不求點讚,只為方便大家。下面開始:

我一共建了4個表,分別是supplier、purchasemaster、pruchasedetail、product四個表(大家在測試的時候可以隨意建,但是一定要看好我的表之間的關聯關係)

表結構:

supplier:supplierid、 supplier******name

purchasemaster:purchaseid、supplierid

pruchasedetail:purchaseid、productid、purchasequantity、purchaseamount

product:productid、productname

我們要查詢的是supplierid、 supplier******name、purchasequantity、purchaseamount、productname

從表結構上可以看出,各個表之間只有乙個相同屬性,而且每個表之間還不相同,從查詢結果上來看其實與purchasemaster表沒有什麼關係,但實際上它卻起到了乙個連線性的作用。所以必不可少。現在我們的要求是根據supplierid去查詢我們要查詢的這個項內容,查詢語句如下:

select s.supplierid,s.suppliername,

pd.purchasequantity,pd.purchaseamount,p.productname

from supplier s,purchasemaster pm,purchasedetail pd,product p

where s.supplierid = pm.supplierid

and pm.purchaseid = pd.purchaseid

and pd.productid = p.productid

其中出現的問題:

1、大家可以看到我在資料庫裡建的表都是大寫字母開頭,但是我在from語句後面跟的卻有小寫,所以這裡並不影響,但是當你輸入的時候會有提示,最好根據提示來,否則容易出錯,我寫的時候就是因為form後面的purchasedetail pd,開始用的大寫的p,所以一直出不來,所以這些語句,最好用提示,凡是提示不出來的都有可能出現錯誤。

2、如果是已經知道要查詢的supplierid是多少,那麼在where後面加上s.supplierid = 「001」並用and連線即可。

3、網上有很多關於多表查詢的sql語句,什麼左右表連線了,我反正是沒耐心看,哪天看我了在做補充。

資料庫多表查詢關聯查詢SQL語句

left join on 關鍵字會從左表那裡返回所有的行,即使在右表中沒有匹配的行。意思就是向左關聯某個表記錄,以左邊的那個表的記錄為基準,通過關聯條件,將關聯表的相關符合要求的記錄一起找出來,找出來的記錄條數就是左邊表的記錄數 具體用法如下 select column name s from ta...

資料庫SQL語句 單錶多表連線查詢例項

查詢所有學生語文科目成績,按成績高低排名 select a.id,a.names,b.score from student a join scores b on a.id b.student id where b.subject id yw order by score desc union all...

資料庫SQL語句查詢

新手小白菜一枚,求知 查詢所有同學的學號 姓名 選課數 總成績 select t1.stuid,t1.stuname,count t2.courseid sum score from tblstudent t1,tblscore t2 where t1.stuid t2.stuid group by...