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優化
- 【SQL】Oracle查詢轉換之物化檢視查詢重寫SQLOracle
- sql-server高階查詢SQLServer
- Sql Server 的引數化查詢SQLServer
- SQL Server 跨資料庫查詢SQLServer資料庫
- sql-server不相關子查詢SQLServer
- sql-server相關子查詢SQLServer
- 【SQL】Oracle查詢轉換之檢視合併SQLOracle
- MSSQL資料庫健康檢查--SQL Server巡檢SQL資料庫Server
- SQL Server 查詢超時問題排查SQLServer
- SQL Server 語句日期格式查詢方法SQLServer
- SQL Server-簡單查詢語句SQLServer
- SQL Server查詢慢的解決方案SQLServer
- SQL Server 查詢歷史執行的SQL語句SQLServer
- SQL SERVER死鎖查詢,死鎖分析,解鎖,查詢佔用SQLServer
- Oracle OCP(14):使用子查詢檢索資料Oracle
- SQL Server 查詢表註釋和欄位SQLServer
- Kibana 全文檢索操作
- Nodejs 操作 Sql ServerNodeJSSQLServer
- 查詢SQL Server的歷史執行記錄SQLServer
- 使用SSMS連線和查詢 SQL Server 例項SSMSQLServer
- SQL server根據表名查詢表主鍵SQLServer
- DbForge Studio for SQL Server入門教程:在查詢生成器中建立查詢SQLServer
- 十七、Mysql之SQL優化查詢MySql優化
- 【SQL】Oracle查詢轉換之 OR用法SQLOracle
- SQL Server中Table字典資料的查詢SQL示例程式碼SQLServer
- SQL Server資料庫————模糊查詢和聚合函式SQLServer資料庫函式
- SQL server資料庫表碎片比例查詢語句SQLServer資料庫
- 概括SQL Server實時查詢Oracle資料庫WSSQLServerOracle資料庫
- SQL Server解惑——查詢條件IN中能否使用變數SQLServer變數
- Sql_server基本操作SQLServer
- sql-server檢視SQLServer
- oracle資料庫sql查詢檢視第二次查詢很慢Oracle資料庫SQL
- 【搜尋引擎】Solr全文檢索近實時查詢優化Solr優化
- Elasticsearch 查詢結果分組統計,聚合檢索(group by stats)Elasticsearch
- 一個小操作,SQL查詢速度翻了1000倍。SQL
- SQL查詢的:子查詢和多表查詢SQL
- 如何使用SQL查詢檢視,Postico使用技巧分享~SQL
- [轉帖]SQL Server簡潔查詢正在執行的程序SQLServer