1. 從教學庫中查詢每個學生的學號、選課門數和平時成績,寫出sql語句
這個應該涉及到三個表吧
select 學生表.學號,count(課程.科目) as 選課門數,成績表.平時成績 from 學生表,課程表,成績表 where 學生表.學號=課程表.學號 and 課程表.課程號=成績表.課程號
2. sql語句編寫存儲過程,根據輸入的學生學號,返回此學生的最高成績和最低成績。
createprocGetStudentScore
@studentIdint
As
selectmax(score)asMaxScore,min(score)=@studentId
3. sql語句,從條件判斷這里開始: where 學生成績.學號=學生選課.學號;
這樣的語句應該是有三個表,需要從三個表(tables)里找數據。一個表是「學生成績」,一個是「學生選課」 另一個是「課程」。 在這兩個表裡,都有一個項(column/field)叫做:學號。
關於「.": 表.項 是sql語言用來表示特別的項。因為兩個表裡都有學號,所以要用「學生成績.學號」 和「學生選課.學號」來表示到底指的是哪一個表裡的學號。
關於」=「:因為Where語句後是條件,"=" 是來表示相等條件的。
」where 學生成績.學號=學生選課.學號;「, 翻譯成人類語言就是」當學生成績里的學號 等於 學生選課里的學號; 」。
希望對你有幫助。
4. SQL:查詢每門課程的課程名、選課學生姓名及其學號,選課人數
我的學生資料庫跟你的差不多,我就用我的這些表給你做了個
selectc.Cno,s.Sname,s.Sno,選課人數fromCoursec
leftjoinSConc.cno=sc.cno
leftjoinstudentsons.Sno=SC.Sno
leftjoin(selectc.cno,COUNT(s.Sno)選課人數from
CoursecleftjoinSConc.cno=sc.cno
leftjoinstudentsons.Sno=SC.Sno
groupbyc.Cno)asTONT.Cno=c.Cno
5. 用sql語句:將選課在五門以上的學生學號,姓名按平均分降序排序 請問怎麼寫。。。
SELECT B.StuName,A.StuID
,AVG(Score) AS AvgScore
FROM dbo.Course AS A
LEFT JOIN dbo.Stu_Info AS B
ON A.StuID = B.StuID
GROUP BY StuID
HAVING COUNT(*) > 5
ORDER BY AvgScore DESC
6. 在sql中,怎樣的語句得到選課學生的學號。(注意去掉重復的學號)
select distinct 學號 from 選課表
或
select 學號 from 選課表 group by 學號
7. sql在cj表中按照學號分組,統計選課數大於4的每個學生的學號及選課數,要求按照選課數升序排序。
select 學號, count(課程號)
from cj
group by 學號
having count(課程號) > 4
8. 用SQL語句查詢選修課程名稱中有資料庫課程的學生的學號
select * from 學生表 where 學號 in(select 學號 from 選修課表 where 課程='資料庫')
思路大概就是這樣
9. sql:查詢所有學生的學號、姓名、入學成績、選課門數和平均分。結果要求顯示如下
SQL語句如下:
select student.sno 學號,sname 姓名,sgrade 入學成績,count(cno)選課門數,avg(grade)平均分
from student,score
where student.sno=score.sno
group by student.sno,sname,sgrade;
其中sno、sname、sgrade、cno、grade分別為:學號、姓名、入學成績、課程號、成績。以上SQL語句在Microsoft SQL Server 2005下測試通過。
10. 資料庫sql查詢同時選修了選修課1和選修課2的學生學號
select Sno from sc where Cno in('課1','課2') group by Sno having count(*)=2