MySQL
第七章,连接查询
1.内连接
MySQL常见的连接操作,将两张表的列组合在一起,产生新的结果表。内连接分为交叉连接,相等连接,和自然连接。
SELECT fieldlist
FROM table1
【INNER】JOIN table2 ON table1.column1=table2.column2
【where condition】
自然连接
一种特殊的内连接,它要求相连接的表的连接依据是相同的字段,同时在自然连接的表中相同的列将会被比较,在结果中相同的列回去去掉。
自然连接语法:
SELECT fieldlist
FROM table1
NATURAL JOIN table【where condition】
案例:
2.多表查询
用于查询的表来自多张表,通过两两连接的方式建立连接
多表连接语法:
SELECT fieldlist FROM table1 JOIN table2 ON table1.coulumn2_1 JOIN table3 ON
table2.column2_2=table3.column3
【where condition】
案例:
查询非空调车的车牌号,型号,线路号,起点站,终点站
简单多表查询语法:
两表连接查询语法:
SELECT fieldlist FROM table1,table2
where table1.column1=table2.column2
三表连接查询语法:
SELECT fieldlist FROM table1,table2,table3
where table1.column1=table2.column2_1 and table2.column2_2=table3.column3【and 其他条件】
3.外连接查询
能使不满足连接条件的记录也显示在查询结果中
外连接语法:
`SELECT 字段名称 FROM 表名1 LEFT | RIGHT | FULL [OUTER] JOIN 表名2 ON 表名1.字段名1=表名2.字段名2
左连接
左表中的记录将会全部表示出来,而右表只会显示符合搜索条件的记录。右表不符合连接条件的地方均为NULL。
右连接
右表中的记录将会全部表示出来,而左表只会显示符合搜索条件的记录。左表不符合连接条件的地方均为NULL。