2016-08-25 93 views
0

我想寫這些查詢查詢有關數據庫管理系統

  • 顯示誰從來沒有借出的詩集學生的名字。
  • 顯示借出5本以上書籍的學生的姓名。
  • 顯示學生姓名,書名,發行日期以及所有預訂書籍的作者姓名。

查詢我寫了那麼遠是不工作的第一項任務

SELECT 
    name  
FROM 
    students 
INNER JOIN issued ON students.rollno = issued.rollno 
GROUP BY 
    issued.rollno 
HAVING 
    COUNT(issued.rollno)> 2 
+0

請修改您的問題,包括在_text_格式表中的數據,並使其明確的閱讀。 –

+3

請寫下你的方法和你被卡住的地方......這是一個家庭作業嗎? – Zeina

回答

0

給這些查詢試試

select s.name from students s 
left join issued i on (s.rollno = i.rollno) 
left join bookcopy bc on (i.copyid = bc.copyid) 
left join books b on (bc.bookid = b.bookid) 
left join category c on (b.catid = c.catid and c.catname = 'Poetry') 
where c.catid is null 

select s.name, count(*) as from students s 
left join issued i on (s.rollno = i.rollno) 
group by s.name 
having count(*) > 5 

select s.name, b.title, a.authorname, i.issuedate from students s 
left join issued i on (s.rollno = i.rollno) 
left join bookcopy bc on (i.copyid = bc.copyid) 
left join books b on (bc.bookid = b.bookid) 
left join author a on (b.authorid = a.authorid); 
+0

我有一種奇怪的感覺,我只是做了你的功課,但如果你發現sql很難,我希望你學習這些查詢,並試圖理解它們,這樣你就可以自己寫下:) – Moptan

+0

select name,count(*)from students s left join i on(s.rollno = i.rollno) group by s.name have count(*)> 5這一個只能解決一個問題,謝謝 – router

+0

我很高興我可以幫助:)確保,我可以試一試 – Moptan