上机练习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

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

数据库SQL语言学习--上级练习1(数据查询)相关推荐

  1. 数据库SQL语言学习--数据查询(持续更新中)

    数据库SQL语言学习--数据查询(持续更新中) 上机练习1 1.              启动SQL Server 2008中的 SQL Server Management Studio. 2.   ...

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

    数据库SQL语言学习--上机练习2(连接查询 嵌套查询)(持续更新中) 上机练习2 1.              启动SQL Server 2008中的 SQL Server Management ...

  3. 数据库SQL语言学习--上机练习4(视图)(持续更新中)

    数据库SQL语言学习--上机练习4(视图)(持续更新中) 上机练习4 一.实验目的 1. 熟悉和掌握对数据表中视图的查询操作和 SQL 命令的使用: 2. 熟悉和掌握对数据表中视图的更新操作和 SQL ...

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

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

  5. SQL语言基础:常用的数据查询语句

    1.创建表 语法格式: creat table <表名> ( <,列名><数据类型>[列级完整性约束条件] <,列名><数据类型>[列级完整 ...

  6. oracle数据库sql培训,Oracle数据库SQL语言实战培训教程(全面、详细、案例、精讲)套餐...

    风哥oracle数据库SQL语言实战培训教程(案例.精讲)套餐,DBA必备技能. 套餐介绍: 风哥Oracle数据库SQL语言实战培训教程(案例.精讲)套餐,DBA必备技能. 内容: SQL语言基础入 ...

  7. 实验四 数据库SQL语言基础编程

    -- 实验四 数据库SQL语言基础编程 -- 实验目的: --  掌握数据库查询语句的编写方法 --  掌握利用查询语言完成基本查询 --  掌握利用SQL语句完成数据的添加.删除.修改操作 -- 实 ...

  8. oracle v¥bh,ORACLE数据库sql语言、函数及常用命令

    file=c:\database\ydxt200108170926.dmp log=c:\database\ydxt200108170926.log fromuser=cur touser=cur1 ...

  9. C语言学习(三)数据-浮点类型

    更多类型相关介绍:C语言学习(二)数据 各种整数类型对大多数软件开发项目而言够用了.然而,面向金融和数学的程序经常使用浮点数.C语言中的浮点类型有float.double和long double类型. ...

最新文章

  1. 多平台Gstreamer Multiplatform
  2. android jni 字符串拼接,AndroidJNI
  3. hadoop2 作业执行过程之作业提交
  4. php 框架 laravel 简介
  5. php7 redis长连接,php使用redis长连接有哪些步骤
  6. centos6.4下安装配置JDK+TOMCAT+MYSQL笔记
  7. 微分方程的数值解法与程序实现 pdf_初中数学知识点|一元一次方程的概念及讲解(二)建议收藏!内含pdf版...
  8. Galaxy s4怎么安装一个预装软件的签名不一致的新版本
  9. Vue与class和style
  10. java如何集成dubbo_boot集成dubbo踩过的坑
  11. iOS 编译后的Archiveing 界面在 Windows-organizer 下
  12. Java 异常 (Exception) 剖析 与 用户自定义异常
  13. RH124 Chapter 2 Managing Files From the Command Line
  14. 2020年中国林业有害生物发生及防治面积统计情况,林业有害生物防控措施工作的开展刻不容缓「图」
  15. Sobel 边缘检测
  16. [深度学习概念]·主流声学模型对比
  17. Flutter FFI实践
  18. 计算器和计算机有什么不同,计算机和计算器有区别吗?
  19. 运维日常之机房浪潮服务器硬盘红灯亮起,服务器一直响,raid磁盘红色。。。故障解决方法
  20. BatchNorm1d

热门文章

  1. ICML2022有意思的文章
  2. html仿苹果桌面导航js css,CSS简单实现弹出框、输入框等的背景幕布,模仿苹果官网导航块的半透明效果。...
  3. 【CTFhub】——hate_php2021
  4. android搜索不到蓝牙 找不到设备
  5. 访问tomcat管理页面
  6. ASP.NET饭店管理系统
  7. HTML+JavaScript自己动手做日历
  8. CSS实现图片实现正方形的效果
  9. 乔利斯基三角分解_杜利特尔及乔利斯基三角分解
  10. Node.js零基础自学(持续更新中)