如何通过【MySQL】多表关联查询实现搜索?
摘要:关联查询(多表查询) 交叉连接(CROSS JOIN) 定义:返回两个表的笛卡尔积,即第一个表中的每一行,与第二个表中的每一行组合。如果涉及多于两个表,则依次进行。 🌟 青柠来相伴,
关联查询(多表查询) 交叉连接(CROSS JOIN) 定义:返回两个表的笛卡尔积,即第一个表中的每一行,与第二个表中的每一行组合。如果涉及多于两个表,则依次进行。 =======🌟青柠来相伴,代码更简单。🌟======= 📚本文所有内容,我都整理在了青柠合集里。👇 🎯搜索关注【青柠代码录】,即可查看所有合集文章~ =======🌟================🌟======= 语法: SELECT * FROM A, B (, C) -- 或者 SELECT * FROM A CROSS JOIN B (CROSS JOIN C) 特点:没有任何关联条件,结果集会很大,通常在实际应用中很少使用。 SELECT b.*,bo.* FROM beauty b CROSS JOIN boys bo; 笛卡尔积也称为交叉连接,英文是 CROSS JOIN。 在 SQL99 中也是使用 CROSS JOIN表示交叉连接。 它的作用就是可以把任意表进行连接,即使这两张表不相关。 笛卡尔积的错误会在下面条件下产生: 省略多个表的连接条件(或关联条件) 连接条件(或关联条件)无效 所有表中的所有行互相连接 为了避免笛卡尔积, 可以在WHERE 加入有效的连接条件。 内连接(INNER JOIN) 定义:基于一个匹配条件来结合两个表的数据。只有当连接条件满足时,才会返回记录。语法: SELECT * FROM A, B WHERE A.id = B.id -- 或者 SELECT * FROM A INNER JOIN B ON A.id = B.id 特点:可以缩写为 JOIN。用于检索多个表中同时符合某种条件的数据记录的集合。
