Mysql

至此,可以总结MySQL查询的一般性思路是:

能用单表优先用单表,即便是需要用group by、order by、limit等,效率一般也比多表高

不能用单表时优先用连接,连接是SQL中非常强大的用法,小表驱动大表+建立合适索引+合理运用连接条件,基本上连接可以解决绝大部分问题。但join级数不宜过多,毕竟是一个接近指数级增长的关联效果

能不用子查询、笛卡尔积尽量不用,虽然很多情况下MySQL优化器会将其优化成连接方式的执行过程,但效率仍然难以保证

自定义变量在复杂SQL实现中会很有用,例如LeetCode中困难级别的数据库题目很多都需要借助自定义变量实现

如果MySQL版本允许,某些带聚合功能的查询需求应用窗口函数是一个最优选择。除了经典的获取3种排名信息,还有聚合函数、向前向后取值、百分位等,具体可参考官方指南。以下是官方给出的几个窗口函数的介绍:

 

 

 

 

 

 

 

 

 

一 使用 Msql(关键字不区分大小写)

USE 数据库名 //启动

SHOW DATABASES //显示数据库

SHOW TABLES //显示数据库内的表

SHOW COLUMNS FROM 表名 //显示表zh中的每一列信息

 

二 检索数据库

LIMIT

SELECT prod_name FROM products  //注意数据库表中每一列的起始行索引为0

LIMIT 2,3 或LIMIT 2 OFFSENT   3   //分别表示的含义 为行3开始显示即(2 ton anvil)  开始显示出三行数据;表示的含义为行4开始显示(Detonator)t         

      

 

2.1使用完全限定名

三 排序检索数据

先是按prod_price排序,当排序后的prod_price中的值不唯一,再按prod_name对相同的prod_price再进行排序(默认是升序)

ORDER BY prod_price DESC,prod_name

对prod_price降序排列,prod_name默认是升序

 

三 过滤数据

  

四 数据过滤

4.1 操作符(逻辑操作符)

AND(与) OR(或)

 括号可以消除歧义

4.2 IN 操作符相当于OR,但比OR高效

4.3NOT操作符

 

五 用通配符进行过滤 

通配符:用来匹配值的一部分的特殊字符。

搜素模式:由字面值 通配符或两者组合构成的so搜素条件

LIKE操作符

六  正则表达式

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值