一同查询,分页查询

2019-10-25 00:53 来源:未知

风流洒脱、 子查询的定义
并发在别的语句中的select语句,称为子查询或然内查询,外部的查询语句称为主查询只怕外查询,子查询能够分包普通select能够分包的任何语句。
外界查询:select、insert、update、delete、set等,首要就是在select的利用。
二、 子查询的归类
1.依据子查询出现的职分
①select后头:仅仅协理标量子查询
②from后边:支持表子查询
③where或having前边:匡助标量子查询、列子查询、行子查询
④exist后:表子查询
2.结出集的类别数
①标量子查询:结果集后生可畏行一列
②列子查询:结果一列多行
③行子查询:生龙活虎行多列
④表子查询:多行多列
3.子查询的风味
①子查放在小括号内
②子查询日常位于标准侧边
③标量子查询,平常搭配着单行操作符使用[> < >= <= = <>]
④列子查询,通常搭配着多行操作符使用[in、any/some、all]
⑤子查询的执行优先于主查询试行,主查询的原则用到了子查询的结果
3.select后头,仅仅帮助标量子查询
金沙澳门唯一官网 1
4.from背后:协理表子查询
其询问结果能够比作一张表,必得给表起外号
金沙澳门唯一官网 2
5.where或having后面
①支撑标量子查询、行子查询、列子查询
②in、any、all的理解
in:等于列表中的放肆叁个,如:a [10,30,60,80,100],a等于5个数中的大肆三个,等价于=any
not in:列表中的恣意一个都不对等,如a[10,20,30,40,50] a 不对等此中任何三个,等价于<>all
any/some:和子查询重临的某二个值实行相比较,<any表示小于任意叁个,等价于<max(字段名)
all:和子查询的全数值进行比较,<all表示小于全数的,等价于<min(字段名)
③标量子查询
金沙澳门唯一官网 3
④列子查询(生龙活虎行多列)
金沙澳门唯一官网 4
⑤行子查询(大器晚成行多列)
金沙澳门唯一官网 5
6.exists后面
语法:exists(完整的询问语句),结果为0或许1
金沙澳门唯一官网 6
三、 分页查询
鉴于数据量异常的大,风流浪漫页展现不完整,需要分页查询。
1.主干语法:
Select 查询列表 from 表1
[接连几天来类型 join 表2
on 连接条件
where 筛选标准
group by 分组字段
having 分组后筛选
order by 排序字段
limit 分组条件]
2.limit特点
金沙澳门唯一官网,①坐落查询语句的最后面
②limit [index,] size index开始的下标,size每页展现的规规矩矩数,省略初步地方,默感觉0
③公式:limit (page-1)*size,size;page是要来得的页数
金沙澳门唯一官网 7
四、 联合查询(union)
union: 将多条查询语句的结果合併成贰个结果
大旨语法:查询语句1 union 查询语句2 union 查询语句3...
骨干选用:要询问的结果来自于五个表,且四个表未有直接关联,查询的音信内容一致
①多条查询语句字段数目黄金时代致
②需求每一列的花色和各类尽量意气风发致
③union关键之私下认可去重,union all能够分包重复项
金沙澳门唯一官网 8

一.外键(foreign key)

外键用于记录表之间的联络
外边的键(键不在自个儿表中):假诺有一张表中有三个字段(非主键)指向其余一张表的主键,那么将该字段称之为外键
(一张表能够有七个外键)

1.扩张外键

  • 创设表时候扩充外键:
    foreign key(外键字段) reference 外界表 (主键字段);
  • 在新添表之后扩张外键:
    alter table 表名 add [constraint 外键名字] foreign key(外键字段) reference 父表(主键字段);

金沙澳门唯一官网 9

创造表时候扩充外键

金沙澳门唯一官网 10

在新扩充表之后扩大外键

2.改造外键&&删除此之外键

外键不能改改,只可以删除后新增添

去除此之外键
alter table 表名 drop foreign key 外键名;

一张表中能够有多少个外键,但名字不能够同后生可畏

金沙澳门唯一官网 11

除去外键

外键删除不可能由此查看表结构显示,应该通过查看表创制语句查看

3.外键功用

  • 1.对父表

对父表的自律:父表数据进行写操作(删和改:都必需涉及到主键本人),假如对应的主键在子表中早已被数据援用,那么分化意操作。

  • 2.对子表(外键字段所在的表)

封锁子表数据操作:子表数据开展写操作的时候,要是对应的外键字段在父表中找不到相应的合营——操作败北

4.外键条件

(1)外键要留存:首先必得保险表的蕴藏引擎innodb,假使不是innodb存款和储蓄引擎,那么外键能够创造成功不过未有节制效能
(2)外键字段的字段类型(列类型)必得与父类的主键类型完全生机勃勃致
(3)一张表中的外键名不能够重新
(4)扩大外键的字段(数据已经存在),必需保障数据与父表主键必要对应

5.外键节制

本着父表的牢笼

  • district:严俊格局(暗中认可的),父表不能够去除大概更新贰个曾经被子表数据引用的笔录
  • cascade:级联形式:对父表操作,子表关联的数额也随着操作
  • set null:置航空模型式:父表的操作之后,子表对应的数量(外键字段)被置空。

封锁格局:删除的时候子表置空,更新的时候子表级联操作钦定情势的语法

foreign key(外键字段) references 父表(主键字段) on delete set null on update cascade;

去除置空的前提条件:外键字段允许为空(假使不满意条件,外键无法创制)

二、联合查询

联机查询:将一再查询(多条select语句),在记录上次进行拼接(字段不会扩大)

主导语法:多条select语句构成:每一条select语句获取的字段数必需从严平等(但是字段类型非亲非故)

select 语句1 union [union选项] select 语句2……

union选项

  • all:保留全数
  • distinct:去重(默认的)

金沙澳门唯一官网 12

暗许去重

同台查询只必要字段数风流罗曼蒂克致,跟数据类型非亲非故

金沙澳门唯一官网 13

合作查询

1.联合签字查询的含义

(1)查询同一张表,不过必要不一样eg:查询学子新闻,男士身高升序,女子身体高度降序

(2)多表查询:多张表的布局是全然同样的,保存的数据结构也是相仿的。

2.联合举办查询order by的利用

在同步查询中order by不能够一向动用,须要对查询语句使用括号
若要order by生效必需搭配limit;用limit节制突显数量

金沙澳门唯一官网 14

同步查询的选用

三、子查询(sub query)

子查询:正是二个select查询是另一个查询的附属(一条select语句内部含有了另一条select语句)

1.子查询分类

  • 按岗位分类:子查询(select语句)在表面查询(select语句)中现身的岗位
    • from子查询:子查询跟在from之后
    • where子查询:子查询现身where条件中
    • exists子查询:子查询出将来exists里面

决断某个标准是或不是满意(跨表),exists是接在where之后
exists重临结果独有0和1。

金沙澳门唯一官网 15

exists子查询

金沙澳门唯一官网 16

exists子查询

  • 按结果查询:依据子查询获得的数据实行分类
    • 标量子查询:子查询获得的结果是大器晚成行一列

金沙澳门唯一官网 17

标量子查询

  • 列子查询:子查询获得的结果是一列多行

列子查询再次来到的结果为一列多行,要求动用in作为基准杰出
再有多少个像样的基准:all,some,any

all:就是漫天 ,使用时索要在前边加"="
any:就和in是同意气风发的,在选拔的时候要求在前方加"="大概"!="
any和some是同等的,即:any==some

金沙澳门唯一官网 18

列子查询

金沙澳门唯一官网 19

all,some,any

  • 行子查询:子查询获得的结果是多行多列(多列大器晚成行)

金沙澳门唯一官网 20

行子查询

(以上多少个冒出岗位是在where事后)

  • 表子查询:子查询获得的结果是多行多列(现身岗位是在from之后)

金沙澳门唯一官网 21

表子查询

TAG标签:
版权声明:本文由金沙澳门唯一官网发布于数据库管理,转载请注明出处:一同查询,分页查询