我想查詢我的數據庫以下列方式:易SQL查詢加(按組)
查找名稱,主要和誰或者是數學專業或在已登記的最年輕的學生年齡由屬於計算機科學的教授授課的課程。
的模式如下:
STUDENT(*snum: integer, sname: string, major: string, slevel: string, age: integer)
CLASS(*name: string, meets_at: date, room: string, fid: integer)
ENROLLED(*snum:integer, *cname: string)
FACULTY(*fid: integer, fname: string, deptid: integer)
DEPARTMENT (*deptid: integer,dname: string, Location:string)
(The fields with '*' are primary keys.)
我有以下查詢寫,以找到正確的學生,但我無法弄清楚如何打印的名稱和專業。
SELECT MIN(s.age)
FROM student s
WHERE (s.major = 'Math')
OR s.snum IN (SELECT e.snum
FROM class c,
enrolled e,
faculty f,
department d
WHERE e.cname = c.NAME
AND c.fid = f.fid
AND d.dname = 'Computer Sciences');
我嘗試以下,並得到了錯誤:「不是一個單一羣組功能」
SELECT s.sname,
s.major,
MIN(s.age)
FROM student s
WHERE (s.major = 'Math')
OR s.snum IN (SELECT e.snum
FROM class c,
enrolled e,
faculty f,
department d
WHERE e.cname = c.NAME
AND c.fid = f.fid
AND d.dname = 'Computer Sciences');
任何想法? SQLPlus新手,所以我仍然試圖學習如何構建查詢。先謝謝你!
完美,謝謝!我會更多地閱讀子查詢,因爲看起來你不需要做太多的事情。謝謝! – Jon