day03 子查询&分页&存储过程

目录

子查询

介绍:

子查询规范

子查询分类

模糊查询

注意事项和技巧

分页查询

作用:

LIMIT关键字使用

指定初始位置

不指定初始位置

分页

视图

介绍:

优点

创建视图

嵌套视图

删除视图

修改视图

更新视图

存储过程

介绍:

优点

缺点

创建存储过程

删除存储过程

无参存储过程

带参数的存储过程

带输入输出参数

局部和全局变量

分支语句

while循环

Q&A


子查询

介绍:

子查询指一个查询语句嵌套在另一个查询语句内部的查询,这个特性从MySQL 4.1开始引入

子查询规范
  1. 子查询必须放在小括号中,并给子查询起别名

  2. 子查询一般放在比较操作符的右边,以增强代码可读性

  3. 子查询可以出现在几乎所有的SELECT子句中(如:SELECT、FROM、WHERE、ORDER BY、HAVING子句

子查询分类
  1. 标量子查询(scalar subquery):返回1行1列一个值

    • 查询出基本工资比ALLEN低的全部员工信息

    SELECT * FROM emp WHERE sal<(SELECT sal FROM emp WHERE eanme='ALLEN');
  2. 行子查询(row subquery):返回的结果集是 1 行 N 列

    • 查询与SCOTT从事同一工作且工资相同的员工信息

    SELECT e.* FROM emp e WHERE (e.job,e.sal)=(SELECT job,sal FROM emp WHERE ename='SCOTT')
    AND e.ename<>'SCOTT';
  3. 列子查询(column subquery):返回的结果集是 N 行 1列

    • 在使用多行子查询需要使用多行比较操作符:

  4. 表子查询(table subquery):返回的结果集是 N 行 N 列

模糊查询

在 MySQL 中,LIKE 关键字主要用于搜索匹配字段中的指定内容。

语法格式:

[NOT] LIKE '字符串'
  • NOT :可选参数,字段中的内容与指定的字符串不匹配时满足条件。

  • 字符串:指定用来匹配的字符串。“字符串”可以是一个很完整的字符串,也可以包含通配符。

LIKE 关键字支持百分号%和下划线“_”通配符。

  • %代表任何长度

  • _代表单个字符

  • \转义字符

注意事项和技巧
  • 注意大小写。MySQL 默认是不区分大小写的。如果区分大小写,像“Tom”这样的数据就不能被“t%”所匹配到。

  • 注意尾部空格,尾部空格会干扰通配符的匹配。例如,“T% ”就不能匹配到“Tom”。(可以使用trim去除前后空格)

  • 注意 NULL。“%”通配符可以到匹配任意字符,但是不能匹配 NULL。也就是说 “%”匹配不到表中值为 NULL 的记录。

分页查询

作用:
  • 限制查询结果返回的条数,减小对数据库服务器造成的压力

LIMIT关键字使用
指定初始位置

LIMIT 关键字可以指定查询结果从哪条记录开始显示,显示多少条记录。

LIMIT 初始位置,记录数
不指定初始位置

LIMIT 关键字不指定初始位置时,记录从第一条记录开始显示。显示记录的条数由 LIMIT 关键字指定。

LIMIT 记录数
分页
#对12条数据进行分页=>每页数量3条
# limit (当前页-1)*每页数量,每页数量
select * from g_customer limit 0,3;#1-3
select * from g_customer limit 3,3;#1-3
select * from g_customer limit 6,3;#1-3
select * from g_customer limit 9,
  • 37
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值