数据库(连接)

连接:

  为什么需要连接?:因为我们需要的数据在不同的表中

内连接:

  select 列A from 表A inner join 表B on 条件1=条件2

   在内连接中可以省去 inner 

   注:on 必须和join 一起出现  他没有单独存在的意义

外连接:

  left join :左连接 

  right join: 右连接

  full join :全外连接  注:在mysql中 并不支持

自连接:

  select 列名 from 表A jion 表A on 条件

 

/*内连接:
基本语法:select 列A from 表A inner(inner可以省略) join 表B  on 条件=条件
注:这里的 on 必须和join 一起出现 他没有单独存在的意义
*/
/*查找每一个员工的领导是谁?*/
/*使用join on 内连接查询数据*/
/*select e.eName,e2.eName from emp e JOIN emp e2 on e.mgr=e2.empno*/
/*使用子查询同样可以做到*/
 select e2.eName as 员工,(select e.eName from emp e where e.empno=e2.mgr) as 领导 from emp e2

 


/*查询每个员工属于哪个部门 并且显示部门的详细信息
员工的信息和部门信息不在一个表中 所以会涉及到两表联查*/
/*首先使用join 查询*/
/*select * from emp e JOIN dept d on e.deptNo=d.deptNo*/
/*然后使用第二种方法 where 查询 不使用 join */
select * from emp e ,dept d where e.deptNo=d.deptNo
/*使用 where 方法查询使用的时间会更少 */

 

/*外连接:
   left join 左连接 左表有数据而右表没有数据 他还是会显示左表的数据
但是右表数据的位置为null
   right join 右连接 与左连接相反
   full join 全外连接 在mysql种没有此方法
*/
/*使用左连接来查询
select * from emp e left join dept d on e.deptNo=d.deptNo
在右表 dept 位置没有数据的时候显示为 null 但是左表依然会显示*/
/*select * from emp e join dept d on  e.deptNo=d.deptNo
然而 join方法 只要一方为 null 左右数据都不会显示
*/
/*使用右连接来查询
select * from emp e right join dept d on e.deptNo=d.deptNo
在左表 emp 位置没有数据的时候 左表全部数据都为 null 右表数据还是会显示
*/

在数据库中会涉及到多表联查 有两种方法可以使用 ①:join ②:where

使用 inner join 方法:
    select * from 表A join 表B on 条件A=条件B join 表C on 条件C=条件D
   注:查表C 的时候不能写在 表B后面 而是应该 跟在 on 条件以后
使用 left join 方法:
   select * from 表A left join 表B on 条件A=条件B left join 表C on 条件C=条件D
   注:右查询和inner join 差不多 只是 inner join是内查询 而 left join 是外查询
使用  where 方法:
   select * from 表A,表B where 条件A and 条件B

转载于:https://www.cnblogs.com/chenyangpeng/p/5483294.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/294298.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Hello Blazor:(15)使用bUnit进行单元测试

bUnit介绍bUnit是Blazor组件测试库。其目标是使编写全面、稳定的单位测试变得容易。有了bUnit,你可以:使用C#或Razor语法设置和定义测试下的组件使用语义HTML比较器验证结果与组件以及触发事件处理程序进行交互和检查传递参数、级联值并将服务注入测试组…

*p++,(*p)++,*++p,++*p有什么不同

例如int a[5]{1,2,3,4,5}; int *p a;*p 先取指针p指向的值&#xff08;数组第一个元素1&#xff09;&#xff0c;再将指针p自增1&#xff1b;cout << *p; // 结果为 1cout <<(*p); // 1(*p) 先去指针p指向的值&#xff08;数组第一个元素1&#xff09;&#xff…

掌握这个姿势,女友不再叨叨叨

1 请收下我的膝盖2 正确姿势3 前世五百次的回眸 才换来今生的一次神同步4 论引体向上&#xff0c;你是不如我的5 教科书式的傲娇6 只有我最摇摆7 这是什么原理&#xff1f;你点的每个赞&#xff0c;我都认真当成了喜欢

ubuntu安装matlab2009,Ubuntu中安装Matlab2010a

Ubuntu中安装Matlab2010a一&#xff0e;前言&#xff1a;相信大家对于Matlab应该很熟悉吧&#xff0c;我就不多做介绍了。对于如何在Ubuntu中安装Matlab很多人都不懂&#xff0c;大家都是新手&#xff0c;可以理解。我自己本身就是一个菜鸟&#xff0c;所以决定写这篇文章&…

数据结构笔记--栈的总结及java数组实现简单栈结构

杂谈"栈"结构:   栈(Stack)是一种插入删除操作都只能在一个位置上进表,这个位置位于表的末端,叫做栈顶(Top). 对栈的基本操作有push和pop,表示进栈和出栈.也就相当于插入和删除操作. 栈结构又叫做LIFO(后进先出)表.归根结底是一个表结构,因此任何能够实现表结构的方…

45岁,一个平凡大叔的异地打工生活

&#x1f4e2;欢迎点赞 &#xff1a;&#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff0c;赐人玫瑰&#xff0c;手留余香&#xff01;&#x1f4e2;本文作者&#xff1a;由webmote 原创&#xff0c;首发于 【掘金】&#x1f4e2;作者格言&#xff1a;生活在于…

C之结构体

 C语言中数组允许定义类型的变量,可容纳相同类型的多个数据项,但结构体在C语言编程中,它允许定义不同种类的数据项可供其他用户定义的数据类型。 结构是用来代表一个记录,假设要跟踪图书馆的书籍。可能要跟踪有关每本书以下属性: Title - 标题 Author - 作者 Subject…

用高等数学“铲雪”!这个200多年前的证明太厉害了,有城市用它省了2000多万..........

全世界只有3.14 % 的人关注了爆炸吧知识用高等数学清扫脚下路前几天&#xff0c;北京下了2021年的第一场雪。这让生活在广州的超模君羡慕不已&#xff0c;原本打算春节前去哈尔滨看个冰雕&#xff0c;结果由于各种原因一直都没成行。一个月前被关进小黑屋的设计师妹子刚好来自哈…

matlab排版形式是什么样子,工作型PPT,图文排版的4种常见样式

原标题&#xff1a;工作型PPT&#xff0c;图文排版的4种常见样式图片是PPT中最好用的一种元素&#xff0c;正所谓“一图抵过千言”。但要想让图片真正地发挥价值&#xff0c;图文排版的好坏非常关键。本期将聊聊4种图文排版的处理方法。这些方法也是我们日常工作中的PPT图文排版…

申请格式

格式与范文分析&#xff1a;  &#xff08;1&#xff09;标题  有两种写法&#xff0c;一是直接写“申请书”&#xff0c;另一是在“申请书”前加上内容&#xff0c;如“入党申请书”、“调换工作申请书”等&#xff0c;一般采用第二种。 申请书 &#xff08;2&#xff09;…

基于事件驱动架构构建微服务第15部分:SPA前端

原文链接 https://logcorner.com/building-micro-services-through-event-driven-architecture-part15-spa-front-end/在本教程中&#xff0c;我将展示如何使用angular构建SPA前端来发送命令和请求查询。SPA前端使用commandAPI发送命令&#xff08;创建、更新或删除语音&#x…

BBC又一神作,豆瓣9.8分,美轮美奂的大自然不仅仅属于人类

总有那么一些人&#xff0c;满怀着对世界的好奇&#xff0c;不远万里不畏艰难去穿越世界上每一个角落&#xff0c;为我们呈现出仅凭我们自己绝无可能看到的世间真实与美好。今天给大家推荐一部BBC出品的一部纪录片&#xff0c;纪录片爱好者肯定听过&#xff1a;BBC出品&#xf…

thinkphp 3.2 unionall

$where[enterprise_id] $enterpriseId; //企业名称不为空 if(!empty($enterpriseName)){$where[enterprise_name] array(like,"%$enterpriseName%");} $table2 array(enterprise_data.yunkh_enterprise_rel_enterprise>ed_ere,enterprise_data.yunkh_enterpris…

php用switch编写车费的输出,PHP Switch语句在实际代码中的应用

PHP Switch语句在实际代码中的应用PHP语言是一个功能强大的嵌入式HTML语言&#xff0c;下面我们将会为大家介绍其中的PHP Switch语句。如果您希望有选择地执行若干代码块之一&#xff0c;请使用PHP Switch语句。PHP脚本编写在网站开发中的作用解析PHP分页类的具体使用方法PHP跳…

C++相关的复习

h头文件,主要是函数、结构声明,常量定义等 .c,源文件,函数定义 .exe,可执行文件 .dll,动态链接库 .lib,静态链接库 .dsp,.dsw都是工程文件, 。cpp是C++的源文件 源文件一般为 .c .h文件 动态库文件 .so 静态库文件 .a 第 1 章 面向对象分析 1.1 结构化…

如何定义一个 Listint,string 这样的 List ?

咨询区 Benny Ae我在想为什么 C# 中没有内置带两列的 List 结构&#xff0c;如&#xff1a;List<int,string> mylist new List<int,string>();回答区 newfurniturey虽然没有内置&#xff0c;但还是有其他解决方案的&#xff0c;大体上有四种。使用 Tuple<int, s…

局部内部类

内部类不仅可以在类中进行定义&#xff0c;也可以在类的局部位置定义&#xff0c;如在类的方法或任意的作用域中均可以定义内部类。 interface Outinterface2 { } class OuterClass3{ public Outinterface2 doit(final String x) { //doit()方法参数为final类型 //在doit方…

想追身边的女孩?哥们我只能帮到你这份上了

1 接下来&#xff0c;就靠你自己了……2 不是女神就别想了3 你再来&#xff0c;我可撕票喽4 总有刁民想害朕。。5 每次我想偷偷溜出去玩&#xff0c;我妈就6 看看谁在偷懒你点的每个赞&#xff0c;我都认真当成了喜欢

C++中引用概念

前段时间在学习C&#xff0c;学习到了引用的概念&#xff0c;当时也查了好多的资料&#xff0c;网上也有很多关于引用的帖子&#xff0c;多是引用和指针的关系&#xff0c;谭浩强C中对引用的介绍也不是很多&#xff0c;今天把它们整理出来&#xff0c;相信也会对大家有所帮助&a…