MySQL连接查询
前言
SQL查询时,一般会涉及到多张表的字段,这时就需要表连接,然后不断匹配。
一、笛卡尔积
当from后跟多个表时,这些表的每行进行全排列,这就是笛卡尔积,也就是无条件的全排列连接。
二、SQL92(支持内连接)
通过表内的一些条件来连接,有内等值连接、非等值连接、自连接(自表引用)
# 一、sql92标准
# 1.内连接
# a 等值连接
# 注:表名如果取了别名,在形成的视图上有了新名,也只有新名,重名字段就应该用新名调用
SELECT
boyName,
`name`
FROM
beauty,
boys
WHERE
boys.id = boyfriend_id # 内连接+筛选
SELECT
boyName,
beauty.NAME
FROM
beauty,
boys
WHERE
boys.id = boyfriend_id
AND LENGTH( beauty.NAME ) > 9 # 注:一个汉字三个字节
# 内连接+ 三表连接
# 员工名、部门名、城市名
USE myemployees;
SELECT
e.last_name