当前位置: 首页 > news >正文

表连接

一、INNER JOIN(内连接)

返回两个表中匹配的行

-- 显式写法(推荐)
SELECT * 
FROM table1 
INNER JOIN table2 
ON table1.id = table2.table1_id;-- 隐式写法
SELECT * 
FROM table1, table2 
WHERE table1.id = table2.table1_id;

二、LEFT JOIN(左连接)

返回左表所有行 + 右表匹配的行(不匹配则为NULL)

SELECT *
FROM table1
LEFT JOIN table2 
ON table1.id = table2.table1_id;-- 只查左表有但右表没有的记录
SELECT *
FROM table1
LEFT JOIN table2 
ON table1.id = table2.table1_id
WHERE table2.table1_id IS NULL;

三、RIGHT JOIN(右连接)

返回右表所有行 + 左表匹配的行(不匹配则为NULL)

SELECT *
FROM table1
RIGHT JOIN table2 
ON table1.id = table2.table1_id;

四、FULL OUTER JOIN(全外连接)

MySQL不直接支持,但可通过UNION模拟

SELECT * FROM table1 LEFT JOIN table2 ON table1.id = table2.table1_id
UNION
SELECT * FROM table1 RIGHT JOIN table2 ON table1.id = table2.table1_id
WHERE table1.id IS NULL;

五、CROSS JOIN(交叉连接)

返回笛卡尔积(所有可能的组合)

-- 显式写法
SELECT * 
FROM table1 
CROSS JOIN table2;-- 隐式写法
SELECT * 
FROM table1, table2;

六、SELF JOIN(自连接)

表与自身连接

-- 查询员工的经理信息
SELECT e.name AS employee, m.name AS manager
FROM employees e
LEFT JOIN employees m ON e.manager_id = m.id;

七、NATURAL JOIN(自然连接)

自动根据相同列名连接(不推荐使用)

SELECT * 
FROM table1 
NATURAL JOIN table2;

八、USING 子句

当连接列名相同时的简化写法

SELECT *
FROM table1
JOIN table2 USING (id);  -- 等同于 ON table1.id = table2.id

九、多表连接

SELECT *
FROM orders o
JOIN customers c ON o.customer_id = c.id
JOIN products p ON o.product_id = p.id
LEFT JOIN shippers s ON o.shipper_id = s.id;

十、连接性能优化建议

  1. 使用索引:确保连接条件的列有索引

  2. 小表驱动大表:将小表放在前面

  3. **避免SELECT ***:只选择需要的列

  4. 注意NULL值:NULL会影响连接结果

  5. 使用EXPLAIN分析:查看执行计划

http://www.jsqmd.com/news/112207/

相关文章:

  • 搞懂 Java 中的 VO、BO、PO、DTO、DO
  • 2025年12月高速坦克链,无尘坦克链,尼龙坦克链公司推荐:行业测评与选择指南 - 品牌鉴赏师
  • Python中的len查询字节函数
  • Python中的len查询字节函数
  • 广东程序园科技有限公司深度解析:一家如何以技术驱动重塑酒旅生态的科技企业 - 资讯焦点
  • 2025深圳旧房改造公司权威推荐! - 品牌评测官
  • 2025年隔热条生产厂家哪家质量可靠?五大品质之选厂商推荐全解析 - 工业品牌热点
  • 告别格式烦恼!Acrobat Pro DC 2024 破解版下载安装一键搞定 PDF 编辑 / 转换 / 签名
  • 机器人轴承厂家十大排名推荐 RV减速机轴承/谐波减速机轴承/交叉滚子轴承/柔性轴承/薄壁角接触球轴承/行星架 - 小张666
  • 2025年12月拖链,电缆拖链,工程拖链公司推荐:行业测评与选择指南 - 品牌鉴赏师
  • 2025年皮带线定制厂家权威推荐榜单:自动化输送线/链板线/同步带源头厂家精选 - 品牌推荐官
  • 2025年度热解炉口碑好的生产商、靠谱服务商及价格合理加工厂推荐 - mypinpai
  • 2025-2026北京离婚子女抚养法律服务白皮书:专业律师测评与选择指南 - 老周说教育
  • 2025-2026北京离婚子女抚养法律服务白皮书:专业律师测评与选择指南 - 老周说教育
  • 2025年12月静音拖链,尼龙拖链,塑料拖链厂商推荐:聚焦企业综合实力与核心竞争力 - 品牌鉴赏师
  • MonkeyCode:你的24小时AI研发队友,让编程效率翻倍的秘密武器
  • 2025年星链连接线制造厂合作案例丰富的排名,推荐靠谱技术先进厂商 - 工业品牌热点
  • 2025年五大环保板材品牌权威推荐:从高定奢享到质价比之选的全场景覆盖 - 品牌推荐
  • Agent工程化-langfuse
  • Agent工程化-langfuse
  • 2025 年辣味零食品牌推荐:重口味解馋小零食推荐及挑选指南和选购建议 - AIEO
  • 遮白发染发剂哪个牌子最好最安全 ?顽固白发克星!3款强效遮白染发膏测评,一次覆盖不返白 - 资讯焦点
  • 2092. 找出知晓秘密的所有专家
  • 机台设备数据采集方法的全面解析与应用实践
  • 手机防止丢失方案
  • 2025年12月多功能角度头,角度头,万向角度头公司推荐:行业测评与选择指南 - 品牌鉴赏师
  • 全屋定制环保材料公司哪家强?2025年最新市场格局分析与五大核心品牌实力推荐 - 品牌推荐
  • 探寻优质蓝牙音箱喇叭:泰声源电子脱颖而出 - mypinpai
  • 安全隔离网闸厂家怎么选?聚焦核心指标,筑牢网络边界安全防线
  • 2025 最新!公众号助手实用技巧大揭秘—有一云 AI 亲测脱颖而出