我想弄清楚如何正確使用FROM。所以,讓我們舉個例子我有一個表像這樣:SQL正確使用AND和FROM
STUDENT(*snum: integer,sname: string,deptid:integer,slevel:string,age:integer)
ENROLLED(*snum:integer, *cname: string)
我試圖計算了在一類是21歲以下的在校生人數任何人都可以解釋爲什麼它返回0 ?我想我正在做的是看一個註冊,然後比較類名和我正在尋找的類。然後我檢查是否有一個學生正在參加該課程,如果有的話我會檢查年齡是否低於21歲。任何人都可以解釋我做錯了什麼嗎?
SELECT COUNT(*)
FROM
ENROLLED e,
STUDENT s
WHERE
e.cname='ENG101'
AND e.snum=s.snum
AND s.age < 21;
示例數據: 插入到登記的值(1234, 'ENG400'); 插入STUDENT值(1234,'T.Banks',3,'SR',18);
也許沒有21歲以下的學生參加ENG101課程。 –
查詢看起來沒問題。你可以發佈每個表格的數據樣本來證明問題嗎?如果可以,請在http://sqlfiddle.com上設置它 –
如果沒有看到數據,這是無法回答的。查詢看起來相對較好(儘管這種連接方式在實踐中幾乎從未使用過),但根據這些標準,數據中可能沒有學生。 – syrion