如何下SQL指令? |
尚未結案
|
Leway
一般會員 發表:43 回覆:71 積分:22 註冊:2003-07-29 發送簡訊給我 |
學生關係模式 S (S#, SNAME, AGE, SEX) S# 學號
成績關係模式 SC (S#, C#, GRADE)
課程關係模式 C (C#, CNAME, TEACHER) C# 課程號 1.檢索學習全部課程的學生姓名
2.檢索所學課程包含學生S3所學課程的學生學號 =======================================
為學日益,為道日損,損之又損,以致於無。為無為,而無不為。 發表人 - Leway 於 2004/03/26 10:34:14
|
Brian77
中階會員 發表:8 回覆:114 積分:94 註冊:2002-05-17 發送簡訊給我 |
|
yachanga
資深會員 發表:24 回覆:335 積分:296 註冊:2003-09-27 發送簡訊給我 |
1.
SELECT SNAME FROM S
WHERE S in (
SELECT S FROM SC
GROUP BY S
HAVING COUNT(*)=(select count(*) from C)
)
2.
SELECT S
FROM SC
WHERE C in (select C from SC where S='S3')
group by S
having count(*)>=(select count(*) from SC where S='S3') ~悠遊法國號~
|
Brian77
中階會員 發表:8 回覆:114 積分:94 註冊:2002-05-17 發送簡訊給我 |
2.
如果要的是包含 (可超過)
SELECT B.S# FROM SC A, SC B WHERE A.C#=B.C# AND A.S#<>B.S# AND A.S#="S3" GROUP BY B.S# HAVING COUNT(*)=(SELECT COUNT(*) FROM SC WHERE S#="S3")
如果要的是相同
SELECT A.S#
FROM SC A LEFT JOIN (SELECT C FROM SC WHERE S#="S3") B ON A.C=B.C WHERE A.S#<>"S3"
GROUP BY A.S# HAVING COUNT(*)=(SELECT COUNT(*) FROM SC WHERE S#="S3")
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |