上机练习1

1、              启动SQL Server 2008中的 SQL Server Management Studio。

2、              创建数据库Studentdb;

3、              在数据库Studentdb中用SQL的DDL语句创建三张基本表,分别如下:

(注意:其中涉及列名均需自行重命名)

学生信息表(Student):

列名

数据类型

长度

是否可空

备注

学号Sno

char

4

N

PRIMARY  KEY

姓名Sname

varchar

8

N

性别 Sgender

char

2

Y

男/女

出生日期 Sbirth

date

Y

家庭地址Saddr

varchar

50

Y

身高 Sheight

decimal(3,2)

Y

备注 Memo

text

Y

课程表(Course):

列名

数据类型

长度

是否可空

备注

课程编号 Cno

Char

4

N

主键

课程名称 Cname

varchar

50

N

学分 Ccredit

int

Y

成绩表(Score):

列名

数据类型

长度

是否可空

备注

学号 Sno

Char

4

N

主键

课程编号 Cno

char

4

N

主键

分数 Cscore

Decimal(3,1)

Y

4、              将下列数据输入各个表中

学号

姓名

性别

出生日期

家庭地址

身高

备注

0001

刘一平

1990-10-1

温州市环城西路201号

1.78

0002

张得民

1990-12-2

杭州市下沙路22号

1.65

0003

马东

1990-7-4

宁波市中山北道20号

1.71

0004

肖海燕

1990-3-15

温州市越秀北路43号

1.65

0005

张民华

1991-5-13

宁波市艮山路7号

1.63

课程编号

课程名称

学分

0001

计算机基础

2

0002

管理学原理

3

0003

数据库技术

3

0004

项目管理

2

0005

毕业论文

10

学号

课程编号

分数

0001

0001

80.0

0001

0002

90.0

0001

0003

70.0

0001

0004

85.0

0002

0001

78.0

0002

0002

NULL

0002

0003

77.0

0002

0004

67.0

0003

0001

66.0

0003

0002

76.0

0003

0003

NULL

0003

0004

73.0

、    使用SQL语句修改学生信息表(Student)中字段属性如下:
姓名 varchar N
ALTER TABLE Student ALTER COLUMN Sname VARCHAR(); 、 使用SQL语句删除学生信息表(Student)中“备注”字段;
ALTER TABLE Student DROP COLUMN Memo; 、 查询全体学生的详细记录;
SELECT *
FROM Student; 、 查询学生信息表中学生的姓名和地址信息;
SELECT Sname,Saddr
FROM Student; 、 查询学生信息表中“刘”姓学生的信息;
SELECT *
FROM Student
WHERE Sname LIKE '刘%'; 、 查询学生信息表中姓名含“民”的学生的信息;
SELECT *
FROM Student
WHERE Sname LIKE '%民%'; 、 查询所有身高1.75以上的男学生的学号和姓名;
SELECT Sno, Sname
FROM Student
WHERE Sgender='男' AND Sheight>=1.75; 、 查询所有来自“宁波”的学生姓名、性别和年龄;
SELECT Sname, Sgender, YEAR(getdate())-DATENAME(yyyy,Sbirth) FROM Student
WHERE Saddr LIKE '%宁波%'; SELECT Sname,Ssex,-YEAR(Sbirth) as Sage
From Student
WHERE Saddress Like '%宁波%'; 、 查询没有考试成绩的学生学号和课程编号;
SELECT Sno, Cno
FROM Score
WHERE Cscore IS NULL; 、 查询所有参加过考试的学生学号;
SELECT DISTINCT(Sno)
FROM Score
WHERE Cscore IS NOT NULL; 、 查询所有学分不小于3的课程名;
SELECT Cname
FROM Course
WHERE Ccredit>=; 、 查询学分在1~5范围内的课程编号和课程名;
SELECT Cno, Cname
FROM Course
WHERE Ccredit BETWEEN AND ; 、 查询“数据库技术”课程的信息;
SELECT *
FROM Course
WHERE Cname='数据库技术'; 、 计算“”号课程中所有参加过考试的学生平均分;
SELECT AVG(Cscore)
FROM Score
WHERE Cno=''; 、 查询选修“”号课程的学生的成绩最高分;
SELECT MAX(Cscore)
FROM Score
WHERE Cno=''; 、 统计参加“”号课程考试的学生人数;
SELECT COUNT(*)
FROM Score
WHERE Cno=''; 、 查询每一门课的间接先修课(即选修课先修课的先修课);
SELECT FIRST.Cno,SECOND.Cpno
FROM Course FIRST ,Course SECOND
WHERE FIRST.Cpno = SECOND.Cno; 、 查询每个学生及其选修课程的情况(包括没有选修课程的学生);
SELECT *
FROM Student
LEFT OUTER JOIN Score ON (Student.Sno= Score.Sno); 、 查询每门选修课以及选修该课程的学生信息;
SELECT Score.Cno,Student.*
FROM Student,Score
WHERE Student.Sno=Score.Sno
ORDER BY Score.Cno; 、 查询选修了3门课以上的学生姓名。
SELECT Sname
FROM Student
WHERE Sno IN
(SELECT Sno
FROM Score
GROUP BY Sno
HAVING COUNT(*)>);

数据库SQL语言学习--上级练习1(数据查询)的更多相关文章

  1. 数据库SQL语言学习--上机练习4(视图)

    上机练习4 一.实验目的 . 熟悉和掌握对数据表中视图的查询操作和 SQL 命令的使用: . 熟悉和掌握对数据表中视图的更新操作和 SQL 命令的使用,并注意视图更新与基本表更新的区别与联系: . 学 ...

  2. 数据库SQL语言学习--上机练习2(连接查询 嵌套查询)

    上机练习2 1.              启动SQL Server 2008中的 SQL Server Management Studio. 2.              针对下面三张基本表进行操 ...

  3. 数据库SQL语言学习--上机练习3(插入 更新 删除)

    上机练习3 . 将一个新学生记录(学号::姓名:陈冬:性别:男:所在系:信息系:年龄:20岁)插入到Student表中: ALTER TABLE Student ,); UPDATE Student ...

  4. 数据库SQL语言学习----左外连接,右外连接,外连接,自然连接的形象对比

    现在有两张表,一张Student 另一张Score   1.查询每个学生及其选修课程的情况: 自然连接,Sno在Cscore中找不到就不显示,Cno在Cscore中找不到也不显示 SELECT Stu ...

  5. 数据库SQL练习(一):数据查询

    先创建以下3张基本表 1.学生信息表(Student): 2.课程表(Course): 3.成绩表(Score): 4. 将下列数据输入各个表中 建表SQL: CREATE DATABASE Stud ...

  6. Influx Sql系列教程九:query数据查询基本篇二

    前面一篇介绍了influxdb中基本的查询操作,在结尾处提到了如果我们希望对查询的结果进行分组,排序,分页时,应该怎么操作,接下来我们看一下上面几个场景的支持 在开始本文之前,建议先阅读上篇博文: 1 ...

  7. SQL语言学习-数据定义语言

    Sql语言至今已经有6个版本.SQL查询语言包括了所有对数据的操作命令,这些操作可分为四类:数据定义语言(DDL).数据操纵语言(DML).数据控制语言(DCL)和嵌入式SQL语言. 数据定义语言(D ...

  8. 数据库SQL语言从入门到精通--Part 6--单表查询(快来PICK)

    数据库从入门到精通合集(超详细,学习数据库必看) 查询操作是SQL语言中很重要的操作,我们今天就来详细的学习一下. 一.数据查询的语句格式 SELECT [ALL|DISTINCT] <目标列表 ...

  9. 数据库SQL语言从入门到精通--Part 4--SQL语言中的模式、基本表、视图

    数据库从入门到精通合集(超详细,学习数据库必看) 前言: 使用SQL语言时,要注意SQL语言对大小写并不敏感,一般使用大写.所有符号一定是西文标点符号(虽然是常识,但我还是提一嘴) 1.模式的定义与删 ...

随机推荐

  1. JAVA中native方法调用

    在Java中native是关键字.它一般在本地声明,异地用C和C++来实现.它的声明有几点要注意:1)native与访问控制符前后的关系不受限制.2)必须在返回类型之前.3)它一般为非抽象类方法.4) ...

  2. Django模型层之多表操作

    ----------------https://www.cnblogs.com/liuqingzheng/articles/9499252.html 实例:我们来假定下面这些概念,字段和关系 一 创建 ...

  3. 20165313 《Java程序设计》第三周学习总结

    教材学习总结 这一章主要讲解了类的创建与使用,以及其中参数的调用方式,如何将多个对象组合,包的用法,访问权的设置和基本类封装. 1.对象注意初始化 2.包语句使用后要把对应得.java文件放到与包同名 ...

  4. Spring 中的接口知识整理

    本想每个小知识一篇随笔,但是那样,看起来有些单薄,所以,就放在一片文章里了.而且,以后还会慢慢在最后不断的追加. 目录: FactoryBean BeanPostProcessor 1.Factory ...

  5. 2013级计算机学院数字媒体专业李成梁(笛卡尔积,概率树状图)& 学生选课

    初中数学问这个向量 ( *  , 计算学院 , * , *  ) 任取一个向量来自计算机的概率     4*1*100*10000/ 8千万 限定在计科院数字媒体技术专业大二上期选课这个小的范围 学生 ...

  6. Queue接口的实现类竟然有一个是LinkedList,一个是优先队列(同一个接口,只改了不同的实现类,附源码)

    输出是: Queue接口底层换一个实现类,照样的是调用Queue接口中的方法 import java.util.HashMap; import java.util.LinkedList; import ...

  7. HttpClient-传入url得到json字符串( PostMethod method = new PostMethod(url)是个好方法)

    import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import ...

  8. apache常用配置文件讲解

    apache 的httpd.conf常用配置说明 # ServerRoot: The top of the directory tree under which the server's # conf ...

  9. Unity3D中常用的数据结构 学习

    Array 1.数组存储在连续的内存上. 2.数组的元素都是相同类型或者类型的衍生类型 3.数组可以直接通过下标访问 ArrayList 1.不必在声明ArrayList时指定它的长度,这是由于Arr ...

  10. 让Windows XP的键盘“说话”,全语音键盘

    长期面对无声的电脑,我们难免疲倦.如果正在输入的内容被系统一字(字母)不差地念出来,你还能在无声的疲倦中输入错误的内容吗?本文以Windows 2000/XP中一个鲜为人知的“讲述人”为例,来教你DI ...