高可用java架构图,mysql-day02笔记(1)

这篇博客详细介绍了MySQL中的内连接,包括非等值连接和自连接,以及外连接的右外连接和左外连接。此外,还探讨了三、四张表的连接操作。文章进一步讲解了子查询的应用,包括在`where`、`from`和`select`子句中的用法,并举例说明。最后,提到了`union`合并查询结果集的优势以及`limit`在分页查询中的作用和用法。博主通过实例展示了如何利用这些概念进行复杂查询,为读者提供了丰富的学习材料。
摘要由CSDN通过智能技术生成
2.6、内连接之非等值连接

例:找出每个员工的薪资等级,要求显示员工名、薪资、薪资等级?

select

e.(工名),e.(薪资),s.(薪资等级)

from

(员工表) e

inner join

(薪资等级表) s

on

e.(员工薪资) between s.(最低薪资) and s.(最高薪资);

// 条件不是一个等量关系,称为非等值连接。

2.7、内连接之自连接

例:查询员工的上级领导,要求显示员工名和对应的领导名?

自连接:

把一张表看作两张表来查询

员工表李包含了 领导的员工编号 与 每个员工的 上级领导编号

把一张员工表看作两张表,使用别名区分

第一张:(员工表) a 员工

第二章:(员工表) b 领导表

select

a.(名称) as ‘员工名’,b.(名称) as ‘领导名’;

from

(员工表) a

inner join

(员工表) b

on

a.(员工领导编号) = b.(领导的员工编号);

重点技巧:

一张表看做两张表。

2.8、外连接

外连接(右外连接):

select

e.(名称),d.(名称)

from

(员工表) e

right outer join // outer 是可以省略的,带着可读性强。

(部门表) d

on

e.(员工表部门) = d.(部门表部门);

right代表什么:

表示将join关键字右边的这张表看成主表,主要是为了将

这张表的数据全部查询出来,捎带着关联查询左边的表。

在外连接当中,两张表连接,产生了主次关系。

外连接(左外连接):

select

e.(名称),d.(名称)

from

(员工表) e

left outer join // outer 是可以省略的,带着可读性强。

(部门表) d

on

e.(员工表部门) = d.(部门表部门);

总结:

带有right的是右外连接,又叫做右连接。

带有left的是左外连接,又叫做左连接。

任何一个右连接都有左连接的写法。

任何一个左连接都有右连接的写法。

2.9、三,四张表连接

语法:

select

from

a

join

b

on

a和b的连接条件

join

c

on

a和c的连接条件

right join

d

on

a和d的连接条件

一条SQL中内连接和外连接可以混合。都可以出现!

3、子查询

3.1、什么是子查询

select语句中嵌套select语句,被嵌套的select语句称为子查询。

3.2、子查询都可以出现在哪里

select

…(select).

from

…(select).

where

…(select).

可以出现在 select 后面

可以出现在 from 后面

可以出现在 where 后面

3.3、where 子句中的子查询

例:找出比最低工资高的员工姓名和工资?以下错误案例:

select

(姓名),(工资)

from

(员工表)

where

(工资) > min(工资);

以上是错误的,因为在 where 子句中不能直接使用分组函数,可以使用子查询

先分析题目:

第一步:查询最低工资是多少

select min(工资) from (表);

第二步:找出>最低工资的

select (姓名),(工资) from (员工表) where (工资) > (第一步的结果)//最低工资

第三

  • 25
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值