码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • mysql多表查询


    多表查询的分类

    • 等值连接 vs 非等值连接
    • 自连接 vs 非自连接
    • 内连接 vs 外连接

    内连接查询

    • 如果查询语句中出现了多个表中都存在的字段,则必须指明此字段所在的表。
    • 建议:从sql优化的角度,建议多表查询时,每个字段前都指明其所在的表。
    • 可以给表起别名,在SELECT和WHERE中使用表的别名。
    • 如果给表起了别名,一旦在SELECT或WHERE中使用表名的话,则必须使用表的别名,而不能再使用表的原名。
    select book_name,publish_no from book,orsttb04 where book.serial_no = orsttb04.serial_no
    
    • 1

    非等值连接查询

    select aa.publisher no,bb.book name from orsttb04 aa,book bb where bb.price>100
    
    • 1

    内连接 vs 外连接

    内连接

    合并具有同一列的两个以上的表的行,结果集中不包含一个表与另一个表不匹配的行

    外连接

    合并具有同一列的两个以上的表的行,结果集中除了包含一个表与另一个表匹配的行之外, 还查询到了左表或右表中不匹配的行。
    外连接的分类:左外连接、右外连接、满外连接

    • 左外连接:两个表在连接过程中除了返回满足连接条件的行以外还返回左表中不满足条件的行,这种连接称为左外连接
    • 右外连接:两个表在连接过程中除了返回满足连接条件的行以外还返回右表中不满足条件的行,这种连接称为右外连接
    • SQL99语法中使用JOIN...ON的方式实现多表的查询。这种方式也能解决外连接的问题。
      • SQL99语法实现内连接(select xx from 表1 inner join 表2 on 条件)
      • SQL99语法实现左外连接(select xx from 表1 left join 表2 on 条件)
      • SQL99语法实现右外连接(select xx from 表1 right join 表2 on 条件)
    • UNION操作符
      • UNION操作符返回两个查询的结果集的并集,去除重复记录。
    • UNION ALL操作符
      • UNION ALL操作符返回两个查询的结果集的并集。对于两个结果集的重复部分,不去重。
    • NATURAL JOIN:它会帮你自动查询两张连接表中所有相同的字段,然后进行等值连接。
    • 你能看出与自然连接NATURAL JOIN不同的是,USING指定了具体的相同的字段名称,你需要在USING的括号(O 中填入要指定的同名字段。同时使用JOIN…USING可以简化JOIN ON的等值连接。它与下面的SQL查询结果是相同的:

    7种SQl JOIN的实现

    在这里插入图片描述

  • 相关阅读:
    【改进灰狼优化算法】贪婪的非分层灰狼优化算法(Matlab代码实现)
    Multisim14.0仿真(二十八)74LS13 施密特触发器
    二十三种设计模式全面解析-解密组合模式(Composite Pattern):构建统一而强大的对象结构
    前端基础建设与架构06 core-js 及垫片理念:设计一个“最完美”的 Polyfill 方案
    【软件分析第17讲-学习笔记】程序综合 Program Synthesis
    我开源了团队内部基于SpringBoot Web快速开发的API脚手架v1.6.0更新
    数据湖+湖仓一体才是未来
    软考知识点之需求管理
    巧用.bat批处理文件
    论文(3):word插入参考文献/引文并更新参考文献/引文编号
  • 原文地址:https://blog.csdn.net/QZ9420/article/details/126134409
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号