您的位置:首页 > 博客中心 > 数据库 >

mysql数据库基础(一)

时间:2022-03-10 18:12

Mysql列子查询及IN,ALL,SOME,ANY的使用

table1:

left  join 第一张表的连接列在第二张表中没有匹配是,第二张表中的值返回null
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 NATURAL  JOIN 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

热门排行

今日推荐

热门手游