乙個資料庫查詢的問題

2021-03-31 08:56:59 字數 656 閱讀 3913

有乙個表user_book記錄了一名使用者擁有的書籍的資訊,表的資料如下:

key   userid    bookid

1   1    2

2   1    3

3   1    4

4   2    1

5   2    3

這表明這名使用者1擁有2,3,4三本書,使用者2擁有1,3兩本書,以此類推。

現在要用1個sql語句得到下面問題的結果:

給出任意個bookid,要求找出擁有所給出的所有書籍的使用者。這個看似

簡單的問題卻困擾了我們半天,嘗試了很多次以後,終於想出下面的辦法,

sql語句如下:

select a.user from (

select distinct userid as user,count(distinct bookid) as num

from user_book where bookid in (1,3) group by userid) as a

where a.num=2

這個語句的關鍵之處在於找出使用者所擁有的包含在所要找的bookid中書籍

的數量。where語句中a.num=2中的2就是使用者所要找的書籍的數量。這個數量

如果跟所要找的書籍數量一致,則此使用者滿足條件。

問題得以解決

關於資料庫查詢的乙個問題

今天碰到了乙個資料庫關聯查詢的問題,問題上是這樣的 客戶需要將每個部門下所有的員工學習課程數按降序排列,本來應該是乙個很簡單的問題,但是問題出現了,就是部門是分多級別的,而且學習課程統計裡關聯的只有員工的id,於是我先把對應的幾個大部門從部門表裡抽出來,然後學習課程裡的員工在部門表裡迴圈查詢,結果是...

乙個資料庫儲存過程小問題

這個資料庫建立沒有什麼難度,但是我就是陷入了一種錯誤的思維,一直跳不出來,剛剛靈光一現,跳出迴圈,終於跳出錯誤的模式,構建好了乙個資料庫儲存過程。1 建立乙個儲存過程no grade,顯示有所選課程沒有成績的學生的學號 姓名 所選全部課程名稱及其成績。use stu cou go create pr...

如何用乙個資料庫的資料去更新另乙個資料庫的內容

愚翁 如何用乙個資料庫的資料去更新另乙個資料庫的內容 上次寫了乙個簡單資料庫之間資料交換的程式,但是考慮到如果資料量大的情況,我所使用的 dataadatper dataset 方法,在效能上就有很大的劣勢。不過,要想在資料量大的資料庫之間能高效地交換,就需要捨棄原先的方法,而改用 dbcomman...