1、别名:AS
使用别名可以简化书写,使sql语句易于阅读
学生信息表:
id | stu_name | phone |
001 | zhangsan | 131001 |
002 | lisi | 132002 |
003 | wangwu | 133003 |
给表取别名:
SELECT A.id,A.stu_name
FROM student_info as A
2、多表联查:join、left join、right join
有时为了得到更多的信息,我们需要从多个表中获取结果,就需要使用 join。
例如:
Studen_info表记录了学生信息,Class_info表记录了班级信息
id | class |
001 | 1 |
002 | 1 |
003 | 2 |
004 | 3 |
如果想知道哪个学生在哪个班级,可以使用join将两个表联合起来查:
select A.stu_name,B.class from student_info as A
join class_info as B on A.id = B.id;
结果:
stu_name | class |
zhangsan | 1 |
lisi | 1 |
wangwu | 2 |
NULL | 3 |
注意到student_info表中没有class 3的学生,所以结果中显示为NULL
使用join关键字,只要查询的表中有至少一个匹配,则返回行
也可以使用left join和right join,区别在于:
left join: 从左表返回所有的行,如果右表中没有匹配则以NULL补全
right join:从右表返回所有的行,如果左表中没有匹配则以NULL补全
左联查例:
select A.stu_name,B.class from student_info as A
left join class_info as B on A.id = B.id;
结果:
stu_name | class |
zhangsan | 1 |
lisi | 1 |
wangwu | 2 |
因为是左联查,所以结果返回左表有数据的行(左表中有的数据右表中都能对应找到)
右联查例
select A.stu_name,B.class from student_info as A
right join class_info as B on A.id = B.id;
stu_name | class |
zhangsan | 1 |
lisi | 1 |
wangwu | 2 |
NULL | 3 |
因为是右联查,所以结果返回右表有数据的行,左表没有的数据用NULL补全