当前位置: 首页 > 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.rkmt.cn/news/123906.html

相关文章:

  • 2025年12月高速坦克链,无尘坦克链,尼龙坦克链公司推荐:行业测评与选择指南 - 品牌鉴赏师
  • Python中的len查询字节函数
  • 机器人轴承厂家十大排名推荐 RV减速机轴承/谐波减速机轴承/交叉滚子轴承/柔性轴承/薄壁角接触球轴承/行星架 - 小张666
  • MonkeyCode:你的24小时AI研发队友,让编程效率翻倍的秘密武器
  • MonkeyCode:你的24小时AI研发队友,让编程效率翻倍的秘密武器
  • 2025年数控旋风铣行业五大品牌实力排名,常州泽尔达数控旋风铣介绍及实力解析 - myqiye
  • 2025年12月静音拖链,尼龙拖链,塑料拖链厂商推荐:聚焦企业综合实力与核心竞争力 - 品牌鉴赏师
  • 2092. 找出知晓秘密的所有专家
  • 手机防止丢失方案
  • 遮白发染发剂哪个牌子最好最安全 ?顽固白发克星!3款强效遮白染发膏测评,一次覆盖不返白 - 资讯焦点
  • 2025 最新!公众号助手实用技巧大揭秘—有一云 AI 亲测脱颖而出
  • 无人机与低空经济的发展 - 实践
  • 机台设备数据采集方法的全面解析与应用实践
  • 2025年8项舆情预警平台服务商关键能力解析及优选建议 - 深度智识库
  • 使用 ZABBIX 6.0 监控 MySQL 主从复制架构状态
  • 蓝牙音箱喇叭怎么选?这些要点和品牌别错过 - mypinpai
  • 评估高级AI的潜在网络安全威胁
  • 四川大通草黄精种苗基地排名:2025年权威榜单发布 - 朴素的承诺
  • 2025年值得推荐的数控旋风铣供应商排行榜,精选数控旋风铣推荐厂家 - myqiye
  • PN7642怎么获取ATQA和SAK
  • 2025舆情预警公司推荐:为企业提供全方位声誉保护 - 深度智识库
  • 2025 q4一物一码公司推荐排行榜:新政驱动合规升级,再互动 98.7 分领跑 - 品牌智鉴榜
  • 2025年6项人力资源管理软件关键功能解析及系统优选建议 - 深度智识库
  • 2025年12月四川轻集料混凝土厂家TOP品牌排行榜 - 朴素的承诺
  • 2025年12月最新成都户外家具厂家权威榜 - 朴素的承诺
  • 安全隔离网闸厂家怎么选?聚焦核心指标,筑牢网络边界安全防线
  • 靠谱过滤器安装框架服务提供商与选购指南 - 工业推荐榜
  • 全球知名进口岩板品牌选购指南:纹理效果与卫生间适用性解析 - 工业品牌热点
  • stlink在设备管理器中的黄色冒号问题——stlink utility
  • 2025如何选择适合企业需求的舆情监测服务商?5大维度评估TOP服务商 - 深度智识库