回退至Mysql数据库理论与实战
#进阶7:连接查询
理解:查询语句中涉及到的字段来自于多张表,将这种查询称为多表连接查询 语法:select 查询列表 from 表名1,表名2; 引入案例: select name,boyname from beauty,boys; select name,boyname from beauty,boys where boyfriend_id = boys.id; 笛卡尔乘积: 现象:表1和表2连接,结果为两表的完全连接结果,数据不正确 表1m行,表2 n行,结果为:m*n 行 产生原因:没有有效的连接条件 解决办法:添加两个表的连接条件 ★ 找到两个表的关联关系。两个表的关联列的意思肯定是一样,但名称不一定一样!一般通过主外键列进行关联。 连接查询的分类 ★: sql92语法: 内连接 等值连接 非等值连接 自连接 外连接(支持的不太好,mysql压根不支持) sql99语法: 内连接 等值连接 非等值连接 自连接 外连接 左外连接 右外连接 全外连接(mysql不支持)
#---------------------------------Sql92语法-------------------------------- #内连接 #一、等值连接
语法: select 查询列表 from 表名1 别名1,表名2 别名2 where 别名1.关联列 = 别名2.关联列 and 筛选条件 group by 分组字段 having 分组后的筛选条件 order by 排序;
更多内容请见原文,原文转载自:https://blog.csdn.net/weixin_44519496/article/details/120684182