mysql数据库基础(一)
时间:2022-03-10 18:12
table1:
right join 第二张表的连接列在第一张表中没有匹配是,第一张表中的值返回null
full join 返回两张表中的行 left join+right join
inner join 只返回两张表连接列的匹配项
(4)外连接:(outer join)
允许限制一张表中的行,而不限制另外一张表中的行。
注意:外连接不一定非要有外键约束
1: left outer join --不能用left out join
左表中的记录全部会出现在结果集中,右表中没有对应记录的显示NULL
2: right outer join
右表中的记录全部会出现在结果集中,坐标中没有对应记录的显示NULL
3: full outer join|full join --不能用full out join
返回两个表中的匹配和不匹配的所有记录。
STRAIGHT_JOIN 是 MySQL 对标准 SQL 的扩展,用于在多表查询时指定表载入的顺序。在 JOIN 表连接中,同样可以指定表载入的顺序,本文只讲述 STRAIGHT_JOIN 在表连接 JOIN 中的应用。
MySQL STRAIGHT_JOIN 语法如下:
... FROM table1 STRAIGHT_JOIN table2 ON condition ...
STRAIGHT_JOIN 实际上与 表现完全一致,不同的是使用了 STRAIGHT_JOIN 后,table1 会先于 table2 载入。
如果有更多表进行连接,那么使用 STRAIGHT_JOIN 后,其载入顺序就遵循从左往右的规则。最后,STRAIGHT_JOIN 无法应用于 LEFT JOIN 或 RIGHT JOIN。
NATURAL JOIN 也叫自然连接,实际是属于 JOIN 的一种。
MySQL NATURAL JOIN 语法如下:
... FROM table1 NATURALJOIN table2 ...
使用 NATURAL JOIN 时,MySQL 将表中具有相同名称的字段自动进行记录匹配,而这些同名字段类型可以不同。因此,NATURAL JOIN 不用指定匹配条件。
NATURAL JOIN 默认是同名字段完全匹配的 INNER JOIN,也可以使用 或 。一些例子如下:
SELECT article.aid,article.title,user.username FROM article NATURAL JOIN user
// LEFT SELECT
article.aid,article.title,user.username FROM article NATURAL LEFT JOIN user
// RIGHT SELECT
article.aid,article.title,user.username FROM article NATURAL RIGHT JOIN user
mysql数据库基础(一),布布扣,bubuko.com