一:内连接查询
1:交叉连接(笛卡尔积) and (叉乘),它是所有类型的内连接的基础。
语法: selcet <字段名> from 表1 CROSS JOIN 表2 等价于 select * from 表1,表2
形式:from 表1 【cross】 join 表2 ;
或:from 表1 , 表2 ;
2:内连接
内连接是应用程序中最常见的连接操作,一般是默认的连接类型。
语法:select <字段名> from 表1 INNER JOIN 表2 on 表1.id = 表2.id;
形式:from 表1 【inner】 join 表2 on 表1.字段1 = 表2.字段2;
3:自然连接
自然连接(NATURAL JOIN)是一种特殊的等值连接,将表中具有相同名称的列自动进行匹配。
语法:select <字段名> from 表1 NATURAL JOIN 表2 where condition
语句:select * from line NATURAL JOIN vehicle where company=“名称”
4:多表连接
用于查询三张表及以上类型的方法
两表连接
语法 select * from 表1,表2 where 表1.column1 = 表2.column2
三表连接
语法 select * from 表一,表二,表三 where 表1.column1 = 表2.column2 and 表2.column2 = 表3.column3
5:外连接
在内连接查询中,只有满足连接条件的记录才能出现在查询结果中。但如果条件不满足时则需要使用外连接。
1.左连接
左连接就是以左表为基准,返回左表的全部数据,如果右表对没有对应的数据,则补空。
形式 left join.....on.....
语句:select * from student left join score on student.Num=score.Stu_id;
2.右连接
形式 right join....on......
右连接就是以右表为基准,返回右表的全部数据,如果左表对没有对应的数据,则补空。
语句:select * from student right join score on student.Num=score.Stu_id;