【Sql Server】快速创建表模拟系、课程、老师、学生以及分数(上)

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,基础系列 2核4GB
简介: 在本篇文章中,主要是创建表以及如何快速模拟表数据,方便快速用于查询测试和验证相对于增删改,查询对于任何系统来说,都是主要的功能,并且是在有一定量数据后才能进行的一些操作,比如:学生成绩平均分统计等
作者:小5聊基础
简介:一只喜欢全栈方向的程序员,欢迎咨询,尽绵薄之力答疑解惑
编程原则:Write Less Do More
  • 主要知识点列表
编号 语言或插件 知识点 说明
1 sql server create table 关键词,创建表
2 sql server indentity 自增长函数
3 sql server primary key 设置主键标识
4 sql server len() 统计长度
5 sql server rand() 随机函数,0~1之间的值
6 sql server substring() 截取字符串,substring('',1,1)
7 sql server convert() 数据类型转换,convert(int,'')
8 sql server left join 做关联,以左边表为主,会出现3 * 5=15条记录的情况,需要合理使用好on条件
9 sql server avg() 求平均值

【查询练习要求】

1)列出存在86分以上成绩的学生姓名以及课程编号

2)列出“C语言”成绩比平均成绩低的同学

【表设计和分析】

1)通过上面的要求,可以简单设计出如下5张表,暂时省略班级表

2)所属系表

系编号、系名称

  • 创建表
create table system_table
(
    system_id int identity(1,1) primary key,
    system_name nvarchar(50)
)
  • 模拟数据
--假设学校有如下系数据:商学系、管理系、计算机系、建筑系、艺术系,5个系记录
insert into system_table(system_name)
values('商学系'),('管理系'),('计算机系'),('建筑系'),('艺术系')

image.png

3)课程表
系编号、课程编号、课程名称

create table course_table
(
    course_id int identity(1,1) primary key,
    course_name nvarchar(50),
    system_id int
)
  • 模拟数据
--这个时候的数据就不一样了,会有关联表,不同得系会有不同得课程
--此处就只模拟计算机系下面的3课程,C语言、软件工程、数据库
insert into course_table(course_name,system_id)
values('C语言',3),('软件工程',3),('数据库',3)

image.png

3)教师表

系编号、课程编号、教师编号、教师名称

create table teacher_table
(
    teacher_id int identity(1,1) primary key,
    teacher_name nvarchar(50),
    course_id int,
    system_id int
)
  • 模拟数据
--同样有关联关系,此处模拟3条记录,张三、李四、王五
insert into teacher_table(teacher_name,course_id,system_id)
values('张三',1,3),('李四',2,3),('王五',3,3)

image.png

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
|
6月前
|
SQL 数据库管理
第二章:基础查询与排序---SQL学习笔记
第二章:基础查询与排序---SQL学习笔记
79 0
|
SQL 关系型数据库 MySQL
15天学习MySQL计划-SQL语言学习(基础篇)-第二天
15天学习MySQL计划-SQL语言学习(基础篇)-第二天
178 1
|
SQL 数据库
SQl课程实验(连表)
文章目录 (1) 查询上过“大学英语”且期末成绩在80到90分之间的学生学号、姓名和学分 (2) 查询计算机学院的女生姓名,及其所选的课程名以及该课程的平时成绩,期末成绩 (3) 查询李晨老师教过的学生的学号,姓名,电话号码 (4) 查询和“张丹丹”老师同一个院系的学生的姓名和院系名称 (5) 查询邮箱不为空并且 “数据库原理”课程期末成绩在80分以上的学生学号、姓名和院系,并按学生院系升序排列,同一院系的学生按出生日期降序排列 (6) 查询与“贺明明”一个院系的教师编号和名字。 (7) 查询所有出生日期晚于“朱凡”并且性别与之相同的学生姓名、班级名称和院系 (8) 查询同时教授“010002
156 0
SQl课程实验(连表)
|
SQL 程序员 C语言
【Sql Server】快速创建表模拟系、课程、老师、学生以及分数(下)
在本篇文章中,主要是创建表以及如何快速模拟表数据,方便快速用于查询测试和验证 相对于增删改,查询对于任何系统来说,都是主要的功能,并且是在有一定量数据后才能进行的一些操作,比如:学生成绩平均分统计等
259 0
【Sql Server】快速创建表模拟系、课程、老师、学生以及分数(下)
|
SQL 程序员
【Sql Server】基础面试题解答之查询每门课程都及格的学生名称
1)查询每门课程都及格的学生名称 2)分组概念的使用
316 0
【Sql Server】基础面试题解答之查询每门课程都及格的学生名称
|
SQL 关系型数据库 MySQL
MySQL 案例练习:用一条 SQL 语句查询出每门课都大于 80 分的学生姓名
MySQL 案例练习:用一条 SQL 语句查询出每门课都大于 80 分的学生姓名
428 0
MySQL 案例练习:用一条 SQL 语句查询出每门课都大于 80 分的学生姓名
|
SQL 数据库
数据库原理与应用(SQL Server)笔记 第十章 用户定义函数
数据库原理与应用(SQL Server)笔记 第十章 用户定义函数
数据库原理与应用(SQL Server)笔记 第十章 用户定义函数
|
SQL 存储 数据库
数据库原理与应用(SQL Server)笔记 第五章 索引和视图
数据库原理与应用(SQL Server)笔记 第五章 索引和视图
数据库原理与应用(SQL Server)笔记 第五章 索引和视图
|
SQL 数据库
数据库原理与应用(SQL Server)笔记 第三章 连接查询
数据库原理与应用(SQL Server)笔记 第三章 连接查询
数据库原理与应用(SQL Server)笔记 第三章 连接查询
|
SQL 数据库
数据库原理与应用(SQL Server)笔记 第四章 嵌套查询和其他查询子句
数据库原理与应用(SQL Server)笔记 第四章 嵌套查询和其他查询子句
数据库原理与应用(SQL Server)笔记 第四章 嵌套查询和其他查询子句