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

Mysql的多表联合查询

内连接

隐式内连接

select column from tb1,tb2 where 条件;

显示内连接

关键字:[inner]  join on

显示内连接与外连接的不同是新增的关键字,inner join 以及 使用on 替换了where 

select column from tb1 [inner] join tb2 on 条件;

外连接

左外连接

关键字:left [outer]  join on

完全包含左表的数据

select column from tb1 left [outer] join tb2 on 条件;

同理

右外连接

关键字:right [outer]  join on

完全包含右表的数据。

左右表连接可以相互替换。

select column from tb1 right [outer] join tb2 on 条件;

内连接与外连接的区别就是,内连接只会将两个表的共同的数据展现出来。

自连接

关键字:join on

使用场景,就是一个表中的外键也关联着表的主键;

select column from tb asA join tb asB on 条件;

联合查询

关键字 :union 、 union all

把多次查询的结果合并起来

union 会去重。为了性能,推荐使用union all,不去重。

select column from tb where 条件;
union all
select column from tb where 条件;

子查询

嵌套select语句

外部语句可以是增删改查中的任意一个语句。

标量子查询:子查询的结果是一个单体。

select * from tb_name where column = (select column from tb);

列子查询:子查询的结果是一列或者多列信息。

关键字:in、not in 、any(some)、all

select * from tb where name ="" and  age > all(select age from tb);select * from tb where id in (select id from tb where use_tb_id = "");

行子查询:子查询返回的结果是多行信息。

关键字:in、not in 、<>=

select * from tb where (age,hobby) = (select age,hobby from tb where name = "");

表子查询:子查询结果是多行多列

关键字:in

select * from tb where (age,hobby) in (select age,hobby from tb where name = "" or name = "");

相关文章:

  • OpenAI 承认 ChatGPT 最近确实变懒,承诺修复问题
  • 基于Maven构建OSGI应用(Maven和OSGI结合)
  • 为什么现在是学习 Rust 的最佳时机
  • js根据数组对象中的某个值去重
  • Android audio设置投屏和喇叭双输出
  • 【数据结构和算法】--队列
  • Kubernetes(k8s)集群部署----->超详细
  • Spring Boot学习随笔- 集成JSP模板(配置视图解析器)、整合Mybatis(@MapperScan注解的使用)
  • 企业选CRM系统,这3个关键点你一定不能错过
  • 【摸鱼向】利用Arduino实现自动化切屏
  • python自动化测试实战 —— 自动化测试框架的实例
  • MySQL 报错 You can‘t specify target table for update in FROM clause解决办法
  • Flink 读写 HBase 总结
  • JeecgBoot jmreport/queryFieldBySql RCE漏洞复现
  • ArcGIS pro与SuperMap根据属性自动填充颜色步骤
  • JAVA SE 6 GC调优笔记
  • javascript 总结(常用工具类的封装)
  • Java程序员幽默爆笑锦集
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • Js基础——数据类型之Null和Undefined
  • Laravel5.4 Queues队列学习
  • node 版本过低
  • orm2 中文文档 3.1 模型属性
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • 从零搭建Koa2 Server
  • 聚簇索引和非聚簇索引
  • 配置 PM2 实现代码自动发布
  • 前端之React实战:创建跨平台的项目架构
  • 数据可视化之 Sankey 桑基图的实现
  • 阿里云服务器如何修改远程端口?
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • #NOIP 2014# day.1 T2 联合权值
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (13):Silverlight 2 数据与通信之WebRequest
  • (WSI分类)WSI分类文献小综述 2024
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (转)fock函数详解
  • (转)Windows2003安全设置/维护
  • .bat批处理(十一):替换字符串中包含百分号%的子串
  • .locked1、locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .net 8 发布了,试下微软最近强推的MAUI
  • .Net Core和.Net Standard直观理解
  • .net mvc 获取url中controller和action
  • .net中调用windows performance记录性能信息
  • .stream().map与.stream().flatMap的使用
  • /bin/rm: 参数列表过长"的解决办法
  • @RequestParam,@RequestBody和@PathVariable 区别
  • [ vulhub漏洞复现篇 ] Celery <4.0 Redis未授权访问+Pickle反序列化利用
  • [APIO2012] 派遣 dispatching
  • [C++] Windows中字符串函数的种类
  • [DNS网络] 网页无法打开、显示不全、加载卡顿缓慢 | 解决方案
  • [HTML]Web前端开发技术28(HTML5、CSS3、JavaScript )JavaScript基础——喵喵画网页