三九宝宝网宝宝教育学龄段教育

SQL serever数据库学生管理三个表学生表S学生选课表SC课程

03月04日 编辑 39baobao.com

[SQL发展简史]1 SQL发展简史 SQL是用于对存放在计算机数据库中的数据进行组织、管理和检索的工具。"SQL"是Structured Query Language的缩写。 SQL是和关系数据库交织在一起发展起来的。...+阅读

1.SELECT COUNT(DISTINCT(学号)) FROM SC

2.SELECT 姓名 FROM S,SC WHERE S.学号=SC.学号 AND S.学号=1号

3.SELECT S.学号,姓名,课程名,成绩 FROM S,SC,C WHERE S.学号=SC.学号 AND SC.课程号=C.课程 AND 课程号=1号

4.SELECT S.学号,姓名 FROM S,SC WHERE S.学号=SC.学号 AND SC.课程=‘人工智能’

5.SELECT MAX(成绩) FROM S,SC WHERE S.学号=SC.学号 AND S.学号=1号

6.SELECT 学号,姓名 FROM S WHERE SUBSTRING(姓名,3,2)='月'

7.SELECT 课程号,COUNT(*) FROM C,SC WHERE C.课程号=SC.课程号

8.SELECT S.学号,姓名 FROM S,SC,C WHERE S.学号=SC.学号 AND SC.课程号=C.课程号 AND C.成绩>80

9.SELECT DISTINCT(省区) FROM S WHERE S.系别=‘物理’

10.SELECT * FROM S ORDER BY 系别 ASC,年龄 DSC

11.SELECT AVG(成绩 ) FROM C WHERE 课程号=2号

12.SELECT 学号,姓名 FROM S WHERE SUBSTRING(姓名,3,2)='阳'

给定数据库中包括学生表课程表选课表等三个数据表

用LINQ(语言集成查询)完成你说的这些任务很方便,具体的细节问题还得你自己做。下面举出两个例子供你参考,这两个例子用数组代替数据库,对数据库也可用同样的方法。

例1,用bool值作关键字区分两组的结果,注意group子句中的表达式产生的结果。

public class Student

{

public string Name { get; set; }

public int ID { get; set; }

public ListScores; } public static List GetStudents() { //实例化数据源,注意各成员内部成绩序列的初始化 List students = new List { new Student {Name="张勇", ID=1, Scores= new List {97, 72, 81, 60}}, new Student {Name="王磊", ID=2 Scores= new List {75, 84, 91, 39}}, new Student {Name="孙敏", ID=3, Scores= new List {88, 94, 65, 85}}, new Student {Name="刘晓", ID=4, Scores= new List {97, 89, 85, 82}}, new Student {Name="扬帆", ID=5, Scores= new List {35, 72, 91, 70}} }; return students; } static void Main() { List students = GetStudents(); //用true或false分组,查询变量是IEnumerable>;类型 var booleanGroupQuery = from student in students group student by student.Scores.Average() >= 80; foreach (var studentGroup in booleanGroupQuery) { Console.WriteLine(studentGroup.Key == true ? "平均分高于80" : "平均分低于80"); foreach (var student in studentGroup) Console.WriteLine("{0,4} {1} {2}", student.ID, student.Name, student.Scores.Average()); } } 输出: 平均分低于80 1 张勇 77.5 2 王磊 72.25 5 扬帆 67 平均分高于80 3 孙敏 83 4 刘晓 88.25 例2,查询人名先排序再分组,可以用姓作为分组关键字。 string[] Name = {"张明","刘新","王宏","刘洋","张媛","张宝","王金贵","刘东","王凯","刘芳"}; var sortedGroups = from name in Name orderby name group name by name[0] into newGroup select newGroup; foreach (var nameGroup in sortedGroups) { Console.WriteLine(nameGroup.Key); foreach (var name in nameGroup) Console.WriteLine(" "+name); } 输出: 刘 刘东 刘芳 刘新 刘洋 王 王宏 王金贵 王凯 张 张宝 张明 张媛 输出结果按姓分类,组内排序。 《C#编程指南》(清华大学出版社2011年1月出版,可网购)第5章和第17章专门讨论LINQ查询更新数据库。

新建数据库三张表学生表成绩表课程表有以下课程:语文

最后那一段帮你小改了下,直接执行

if OBJECT_ID('up_init','p')is not null

drop proc up_init

go

create proc up_init

as

begin

--*********************************

--遍历每一个学生

declare my_c cursor scroll

for select stuid from student

--2.

open my_c

--3.

declare n int,stuid int,score float

set n=1

select score=score from Grade

--begin

while (nbegin

fetch next from my_c into stuid

insert into Grade values('语文',RAND()*100,stuid)

insert into Grade values('数学',RAND()*100,stuid)

insert into Grade values('英语',RAND()*100,stuid)

set n=n+1

end

--4.

close my_c

--5.

deallocate my_c

end

-----------------------------------

go

exec up_init

select * from Grade

以下为关联文档:

请问SQL语句优化的策略都有哪些● 创建表的时候。应尽量建立主键,根据主键查询数据; ● 大数据表删除,用truncate table代替delete。 ● 合理使用索引,在OLTP应用中一张表的索引不要太多。组合索引的列顺序尽...

关于学生课程选课三张表的sql查询select 选课.学号,姓名,AVG(成绩)'平均分',COUNT(选课.课程号)'选课门数' from 学生,课程,选课 where 学生.学号=选课.学号 and 课程.课程号=选课.课程号 group by 选课.学号,姓名 HAV...

sql分析函数Dense_RANK() over(partition by 科室ID order by 数量) As Rnk from 表 ) S where Rnk&lt--美国式排名(两个第一名;=5 --中国式排名(名次是连续的) Select 名称 From ( select...

SQL查询分析器的用法Microsoft® SQL Server™ 2000 SQL 查询分析器是一种图形工具,您可以使用它进行以下操作: 创建查询和其它 SQL 脚本,并针对 SQL Server 数据库执行它们。("查询"窗口) 由预定义脚...

求解决sql不能连接的所有方案无法连接SQL Server服务器问题解决方案 一 看ping 服务器IP能否ping通。 这个实际上是看和远程sql server 2000服务器的物理连接是否存在。如果不行,请检查网络,查看配置,当然...

sql数据库课程设计报告网络即时通信系统是为用户开发研制的,用户是系统的最终使用者和评价者,所以在网络通信系统的开发设计的过程中,我们树立了从用户的寻求出发,面向用户,一切为了用户的观念,在分析与...

vba sql与excel的关系1,VBA (Visual Basic for Applications)是Visual Basic的一种宏语言,主要能用来扩展Windows的应用程序的功能,特别是Microsoft Office软件,在word、powerpoint、excel里面都可...

sql面试题求解sql面试题求解,数据库面试题::方法1:Select * from p a where not exists(select 1 from p where phone=a.phone and calltime>a.calltime)方法2:select a.* from p a join (se...

SQL数据库。储存过程SQL数据库。储存过程,用C进行学生成绩统计分析:CREATE PROCEDURE 学生成绩统计分析 学号 char(10) AS declare 平均总评成绩 decimal(5,2) set 平均总评成绩=(select avg(总评成...

推荐阅读
图文推荐