mysql数据库学习(6)--连接查询

1、等值连接

多表查询时,将表1的外键关联表2的主键,必须是表达同意思的一个列;
语法:select * from 表1,表2 where 表1.列=表2.列
例如:select s.s_name, g.g_score  from student s,grade g where s.s_id=g.s_id;-- 将学生表的主键学号s_id 关联成绩表的外键学号s_id,可以查到学生对应的成绩;

2、左联接查询

将表1作为主表,用表2 的内容关联表1 的内容,即LEFT JOIN 会读取左边数据表的全部数据,即便右边表无对应数据
语法:select * from 表1 left join 表2 on 表1.列=表2.列
例如:select s.s_name, g.g_score from student s left join class c where s.s_id=c.s_id; -- 将学生表的主键学号s_id 关联课程表的外键学号s_id,可以查到学生对应的课程 ;

3、右连接查询

将表2作为主表,用表1 的内容关联表2 的内容,即RIGHT JOIN 会读取右边数据表的全部数据,即便左边表无对应数据
语法:select * from 表1 right join 表2 on 表1.列=表2.列
例如:select s.s_name, g.g_score from student s right join class c where s.s_id=c.s_id;  

4、内连接查询

获取两个表中字段匹配关系的记录,即获取两表中相同的数据
语法:select * from 表1 inner join 表2 on 表1.列=表2.列
例如:select s.s_name, g.g_score from student s inner join class c where s.s_id=c.s_id; 

mysql数据库学习(6)--连接查询

上一篇:sql查询复习笔记-小技巧,大智慧(续一)


下一篇:MongoDB的基础操作