文章目录

  • MYSQL 基本操作
  • 分页
  • 语法:
  • 例子:
  • 连接查询
  • 查询类型:
  • 内连接查询语法 :
  • 左连接查询语法:
  • 右连接查询语法:
  • 自关联:
  • 自关联语法:
  • 子查询:
  • 主查询和子查询的关系:
  • 子查询的分类:
  • 总结:
  • 查询的完整格式:


MYSQL 基本操作

分页

当数据量过大时,在一页中查看数据非常麻烦, 可以使用分页来优化

语法:
select * from limit 开始值,数据条数
例子:

在学生表内查询前三行的男生成绩

select * from students where gender=1 limit 0,3;

连接查询

当需要查询的数据来源于多张表 , 那么则要将多张表连接成一个打的数据集合 , 然后再选择合适的返回

查询类型:

mysql 支持三种连接查询类型:

  1. 内连接查询 : 查询的结果为两个表匹配到的数据
内连接查询语法 :
select * from 表1 inner join 表2 on 表1.列名1=表2.列名1

查询到的结果:两个表共同拥有的数据

  1. 左连接查询 : 查询的结果为两个表匹配到的数据和左表特有的数据 , 右表中有而左表没有的数据用null填充
左连接查询语法:
select * from 表1 left join 表2 on 表1.列名1=表2.列名1

查询到的结果:两个表共同拥有的数据和左表特有的数据

  1. 右连接查询 : 查询的结果为两个表匹配到的数据和右表特有的数据 , 左表中有而右表没有的数据用null填充
右连接查询语法:
select * from 表1 right join 表2 on 表1.列名1=表2.列名1

查询到的结果 : 两个表共同拥有的数据和右表特有的数据

自关联:

自关联就是同一张表 , 用内连接查询连接两张表 , 做到表内查询

自关联语法:
select * from 表1 inner join 表1 on 条件

子查询:

子查询的定义: 子查询就是 在一个select语句中嵌入的另一个select语句

主查询: 主查询是 主select,不是被嵌入的那一个

主查询和子查询的关系:
  • 子查询被嵌入在主查询中
  • 子查询一般是充当条件 , 或是充当主查询的数据源
  • 子查询是一张表,可以独立存在输出
子查询的分类:
  1. 标量子查询 : 返回的表是一个一行一列的数据

|列名|

|数据|

  1. 列子查询 : 返回的表是一个一列多行的数据

|列名|

|数据|

|数据|

  1. 行子查询: 返回的结果是一行多列的数据

|列名| |列名|

|数据| |数据|

总结:

查询的完整格式:

select 列名 from 表 [where 条件 ][group by 分组的列名 having 条件] order by 排序依据 升序/降序 
 limit 开始值,数据条数

列名 from 表 [where 条件 ][group by 分组的列名 having 条件] order by 排序依据 升序/降序
limit 开始值,数据条数