2017-10-21自学内容笔记
1、右连接查询
以右表为主表,右表中的数据都会被显示出来,关联的左表中,如果存在符合条件的数据,那么会被关联出并显示,如果没有,则会显示 NULL。
关键字: RIGHT JOIN
2、全连接查询
全连接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则显示NULL。如果表之间有匹配行,则会被关联并显示出来。
注: MySQL不支持全连接
关键字: FULL JOIN
示例:
1. 学生表t_student
id | code | name | id_card_number | clazz_id |
---|---|---|---|---|
1 | 01 | 张三 | 123 | 1 |
2 | 02 | 李四 | 456 | 1 |
3 | 03 | 赵六 | 249 | null |
2.班级表t_clazz
id | name |
---|---|
1 | Java96班 |
2 | Java93班 |
-- 右外连接
SELECT s.code AS '学号',s.name AS '姓名',c.name AS '班级名称' FROM t_student AS s
RIGHT JOIN t_clazz AS c ON s.clazz_id = c.id;
显示结果:
学号 | 姓名 | 班级名称 |
---|---|---|
01 | 张三 | Java96班 |
02 | 李四 | Java96班 |
null | null | Java93班 |
-- 全连接
SELECT s.code AS '学号',s.name AS '姓名',c.name AS '班级名称' FROM t_student AS s
FULL JOIN t_clazz AS c ON s.clazz_id = c.id;
显示结果:
学号 | 姓名 | 班级名称 |
---|---|---|
01 | 张三 | Java96班 |
02 | 李四 | Java96班 |
03 | 赵六 | null |
null | null | Java93班 |
3、视图
视图是基于 SQL 语句的结果集的可视化的表。
-- 语法格式
CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition
4、索引
索引就类似的书的目录,能够在一定程度上快速的进行数据的定位。
优点:能够加快数据检索的速度。
缺点:一旦建立了索引,在数据进行插入或更新时,就会去更新索引结构,带来一定效率损耗。而且因为加了索引会多占用一定的磁盘空间。
-- 语法格式
CREATE INDEX indexName ON table_name(field1,field2,...);