SQL Server之查詢檢索操作
SQL Server查詢和檢索操作。
一道例題學會查詢和檢索操作:
1、在SQL SERVER 2008上附加teaching資料庫,其中三張表的含義解釋如下:
學生表dbo.student有屬性sno、sname、spec、birthday、email、sex、scholarship,分別代表學號、姓名、專業、生日、電子郵箱、性別、獎學金;
課程表dbo.course有屬性cno、cname、credit、teacher,分別代表課號、課程名、學分、任課教師;
選課表dbo.student_course有屬性sno、cno、grade,分別代表學號、課號、成績。
2、在teaching資料庫中完成下列查詢:
(1)求選修’10101’號課程且成績大於80分的所有男生的姓名;
(2)求至少選修’10102’和’10104’兩門課程的學生資訊;
(3)求每個學生所選課程的平均成績,並用查詢結果來建立一個新的資料表XSPJCJ(sno,sname,avggrade);
(4)求選修全部課程的所有學生的學號和姓名;
(5)求課程不及格學生的課號、課程名、學號、姓名及成績;
(6)查詢選修’Java程式設計’課程的學生學號和姓名;
(7)查詢所有低於學生選課平均成績的學生情況;
(8)檢索’信管’專業的學生資訊,包括學號、姓名、性別;
(9)檢索’網路’專業且有課程成績不及格(<60)的學生資訊,包括學號、姓名、課程名和分數;
(10)檢索有學生成績為滿分(100分)的課程的課程號、課程名和學分。
SQL Server 2008 R2上實現過程:
--1
--求選修’10101’號課程且成績大於80分的所有男生的姓名;
use teaching
select student.sname,student_course.cno,student_course.grade from student,student_course
where student_course.cno='10101' and student.sex='男'
and student_course.grade>80
go
--2
--求至少選修’10102’和’10104’兩門課程的學生資訊
use teaching
select distinct s.sno,s.sname,s.sex,s.spec,s.scholarship,s.birthday,s.email
from student s,student_course sc1,student_course sc2
where sc1.cno='10102' and sc2.cno='10104' and s.sno=sc1.sno
go
--3
--求每個學生所選課程的平均成績,並用查詢結果來建立一個新的資料表XSPJCJ(sno,sname,avggrade)
use teaching
select student.sno,student.sname,avg(student_course.grade) as avggrade
into XSPJCJ
from student,student_course
where student.sno=student_course.sno
group by student.sno,student.sname
go
--4
--求選修全部課程的所有學生的學號和姓名
use teaching
select student.sno,student.sname
from student,student_course,course
where student.sno=student_course.sno and student_course.cno=course.cno
group by student.sno,student.sname
having COUNT(*)=(select COUNT(*) from course)
go
--5
--求課程不及格學生的課號、課程名、學號、姓名及成績
use teaching
select c.cno,c.cname,s.sno,s.sname,sc.grade
from student s,student_course sc,course c
where s.sno=sc.sno and sc.cno=c.cno and sc.grade<60
go
--6
--查詢選修’Java程式設計’課程的學生學號和姓名
use teaching
select s.sno,s.sname
from student s,student_course sc,course c
where s.sno=sc.sno and sc.cno=c.cno and c.cname='Java程式設計'
go
--7
--查詢所有低於學生選課平均成績的學生情況
use teaching
select s.sno,s.sname,s.sex,s.spec,s.scholarship,s.email,s.birthday
from student s,student_course sc
where s.sno=sc.sno
and sc.grade<(select avggrade=avg(grade) from student_course)
go
--8
--檢索’信管’專業的學生資訊,包括學號、姓名、性別
use teaching
select s.sno,s.sname,s.sex
from student s
where s.spec='信管'
go
--9
--檢索’網路’專業且有課程成績不及格(<60)的學生資訊,包括學號、姓名、課程名和分數
use teaching
select s.sno,s.sname,c.cname,sc.grade
from student s,student_course sc,course c
where s.sno=sc.sno and sc.cno=c.cno and sc.grade<60
go
--10
--檢索有學生成績為滿分(100分)的課程的課程號、課程名和學分
use teaching
select c.cno,c.cname,c.credit
from student_course sc,course c
where sc.cno=c.cno and sc.grade=100
go
注:本次資料庫以及部落格:資料庫檢視建立以及自定義函式所用資料庫在博主分享資源中可找到
資源名:Teaching資料庫
相關文章
- PostgreSQL一複合查詢SQL優化例子-(多個exists,範圍檢索,IN檢索,模糊檢索組合)SQL優化
- 03_查詢和檢索
- EI 和 SCI 檢索號查詢
- SQL Server 查詢分解SQLServer
- 【SQL】Oracle查詢轉換之物化檢視查詢重寫SQLOracle
- SQL Server遞迴查詢SQLServer遞迴
- SQL SERVER 查詢鎖資訊SQLServer
- SQL server跨庫查詢SQLServer
- Sql Server系列:子查詢SQLServer
- SQL server 查詢語句SQLServer
- SQL Server 分散式查詢SQLServer分散式
- SQL SERVER 動態查詢SQLServer
- SQL Server 跨域查詢SQLServer跨域
- 【SQL查詢】集合查詢之INTERSECTSQL
- sql-server高階查詢SQLServer
- SQL Server阻塞查詢語句SQLServer
- Sql Server系列:巢狀查詢SQLServer巢狀
- SQL Server 查詢優化功能SQLServer優化
- sql server分組查詢示例SQLServer
- SQL Server基礎之《檢視的概述和基本操作》SQLServer
- 【SQL】Oracle查詢轉換之檢視合併SQLOracle
- PostgreSQL實時高效搜尋-全文檢索、模糊查詢、正則查詢、相似查詢、ADHOC查詢SQL
- SQL Server 跨資料庫查詢SQLServer資料庫
- Sql Server 的引數化查詢SQLServer
- sql-server不相關子查詢SQLServer
- sql-server相關子查詢SQLServer
- sql server的許可權查詢SQLServer
- Sql Server系列:多表連線查詢SQLServer
- SQL SERVER 跨伺服器查詢SQLServer伺服器
- 查詢當前SQL Server的版本SQLServer
- MS SQL Server查詢優化方法SQLServer優化
- 我如何調優SQL Server查詢SQLServer
- MS SQL Server的遞迴查詢SQLServer遞迴
- MS SQL Server查詢優化方法SQLServer優化
- 剖析SQL Server 2005查詢通知之基礎篇SQLServer
- sql之20再看查詢SQL
- MSSQL資料庫健康檢查--SQL Server巡檢SQL資料庫Server
- Mongodb操作之查詢(循序漸進對比SQL語句)MongoDBSQL