小編給大家分享一下數(shù)據(jù)庫中聯(lián)合查詢的示例,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),虎林企業(yè)網(wǎng)站建設(shè),虎林品牌網(wǎng)站建設(shè),網(wǎng)站定制,虎林網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,虎林網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
問題最終要求的結(jié)果是這樣的
是不是很簡單?
然而,數(shù)據(jù)庫是這樣式的
忽略續(xù)借操作,只關(guān)注借書、還書操作。
就是說同一張表,同一本書,既可以存借書,也可以存歸還,而且同一本書還可能借出或者歸還多次。
其他屬性好說,比較麻煩的就是這個歸還時間,同一本書,緊跟著借書操作的還書操作,才是它的歸還時間。
解決方案是這樣的:
把借出操作記為A表,歸還操作記為B表:其中A表22行,B表19行
連接條件應(yīng)當(dāng)為藏書的編號和讀者的id ,連接的結(jié)果為58行。由于數(shù)據(jù)中,同一本書名有好幾個編號,我把書名給去掉了,連接的結(jié)果是這樣的
可以看出如果上的記錄框圖框出來的就是問題的所在!框圖框出來的都是同一條借書記錄,它跟每一條的還書記錄連接。從記錄里可以看出,我讓這個人借了六次同一本書,做了六次的連接!
以下規(guī)則可以幫助我們查詢出正確的結(jié)果
1)同一組借還操作,借操作一定在還操作之前
2)排除掉借操作時間>還操作的時間的記錄之后,最早的還書時間,就是這個人,這本書的還書時間
最終結(jié)果是這樣的
最終SQL代碼是這樣的
select A.*,min(B.操作時間) 還書時間 from aleft join bon a.書籍的典藏編號 = b.書籍的典藏編號 and a.讀者id = b.讀者id and a.操作時間用的是左外連接,未歸還的還書時間當(dāng)然就是NULL啦。這樣,其他的子查詢、聯(lián)合、分頁都不是問題了。
以上是“數(shù)據(jù)庫中聯(lián)合查詢的示例”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
分享題目:數(shù)據(jù)庫中聯(lián)合查詢的示例
網(wǎng)頁網(wǎng)址:http://weahome.cn/article/gjedjc.html