2017/10/20课堂相关代码
来源:互联网 发布:易观数据怎么样 编辑:程序博客网 时间:2024/06/07 08:40
创表
- 学生表student
DROP TABLE IF EXISTS
student
;
CREATE TABLEstudent
(
id
int(11) NOT NULL AUTO_INCREMENT,
name
varchar(255) DEFAULT NULL,
code
varchar(255) DEFAULT NULL,
idcard
varchar(255) DEFAULT NULL,
clazz_id
int(11) DEFAULT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
- 账号表account
DROP TABLE IF EXISTS
account
;
CREATE TABLEaccount
(
id
int(11) NOT NULL AUTO_INCREMENT,
student_id
int(11) DEFAULT NULL,
username
varchar(255) DEFAULT NULL,
password
varchar(255) DEFAULT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
*班级表clazz
DROP TABLE IF EXISTS
clazz
;
CREATE TABLEclazz
(
id
int(11) NOT NULL AUTO_INCREMENT,
code
varchar(255) DEFAULT NULL,
name
varchar(255) DEFAULT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
- 课程表course
DROP TABLE IF EXISTS
course
;
CREATE TABLEcourse
(
id
int(11) NOT NULL AUTO_INCREMENT,
code
varchar(255) DEFAULT NULL,
name
varchar(255) DEFAULT NULL,
diff
int(11) DEFAULT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
- 选修表student_course
CREATE TABLE
student_course
(
id
int(11) NOT NULL AUTO_INCREMENT,
student_id
int(11) DEFAULT NULL,
course_id
int(11) DEFAULT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
query语句
自然连接查询
使用WHERE 条件将两个表之间进行关联查询
– 查询学员的班级id 学生学号 学生姓名 所在班级 班级学号
SELECT s.clazz_id AS ‘班级id’,
s.code AS ‘学生学号’,s.name AS ‘学生姓名’,
c.name
as ‘所在班级’,c.code
as ‘班级学号’
FROM student AS s , clazz AS c
WHERE s.clazz_id = c.id
内连接查询
– 内连接查询是可以使用自然连接查询替代的
– 但是效率方面,内连接更高
– 内连接查询
SELECT s.
code
,s.name,c.name
FROM student as s
INNER JOIN clazz AS c
on s.clazz_id=c.id – 推荐!
左外连接查询
以左边为主表,左表中的数据都会被显示出来,关联的右边中,如果存在符合条件的数据
name被关联出并显示 如果没有,则会显示NULL
SELECT s.
code
, s.name
,c.name
FROM student AS s
LEFT JOIN clazz AS c
ON s.clazz_id = c.id
综合查询
查询学员选课信息,要求显示出班级 账号 课程等基础信息
SELECT c.
name
as ‘班级’,ac.username AS ‘账户名’,
cs.name AS ‘课程信息’
FROM student_course AS sc
LEFT JOIN student AS s
ON s.id = sc.student_id
LEFT JOIN clazz AS c
ON c.id = s.clazz_id
LEFT JOIN course AS cs
ON cs.id = sc.course_id
LEFT JOIN account AS ac
ON ac.student_id = s.id
- 2017/10/20课堂相关代码
- 2017-10-20课堂代码
- 2017-10-20课堂代码
- 2017.10.20课堂代码
- 科锐课堂笔记:2017/2/28 循环相关
- 2017-10-31课堂作业
- 2017-10-31课堂作业
- 2017-11-10课堂作业
- 2011-10-20课堂笔记
- 课堂笔记--多线程相关补充
- 【课堂练习】五子棋逻辑代码
- 2017-10-31课堂作业01
- 2017-10-31课堂作业02
- 2017-10-31课堂作业1
- 课堂笔记--字节流及相关补充
- 课堂作业02-20
- 课堂笔记10
- 课堂作业10
- MarkDown常用语法
- android 分类代码(淘宝分类,左右)
- 项目屏幕适配
- python爬虫之html解析
- SQL索引
- 2017/10/20课堂相关代码
- angularjs增改查
- 欢迎使用CSDN-markdown编辑器
- 设计Mysql索引的原则
- 网易2018校招 相反数
- hadoop集群搭建
- 剑指编程(13)
- LeetCode | 73. Set Matrix Zeroes
- Alertdilog自定义样式