mysql的复杂查询

一、子查询
当使用的数据库表是关系表,借助另一个字段指明位置。使用多个表间的select 语句嵌套查询
在这里插入图片描述
二、联合查询
使用union语句连接两个select 语句进行合并联合查询(or)
select 列1,列2 … from 表明 where 条件 union select 列1 ,列2 … from 表名 where 条件;
在这里插入图片描述
1.union 必须包含两个或者两个以上select 语句
2.union 只能使用一个order by 语句
3.union 适用于对于不同表进行联合查询
三、全文本搜索
1.创建表时需要指定哪些字段为全文本搜索的列;
2.创建表时需要指明支持全文本搜索数据库引擎(MyISAM),速度快且智能;
3.格式:select 列名 from 表名 where match(列名) against(‘关键字’);
在这里插入图片描述
4.扩展查询
select 列名 from 表名 where match (列名)against(‘关键字’with query expansion);
在这里插入图片描述
5.布尔文本搜索
select 列名 from 表名 where match(列名) against(‘关键字’ in boolean mode);
在这里插入图片描述
四、连接查询
1.内连接又叫等值连接。使用inner join会使性能下降在这里插入图片描述
在这里插入图片描述
2.交叉连接
在连接查询时候不通过where 子句指定条件,返回结果集成笛卡尔乘积
3.对表和列使用别名
在这里插入图片描述
4.自连接:不同于子查询,且快于子查询

在这里插入图片描述
5.外连接
5.1左外连接
在这里插入图片描述
5.2右外连接
在这里插入图片描述
五、函数
1.符合sql函数类型
2.计算字段
对数据库中的存储数据进行重新格式化,格式化之后的列被称为计算字段。
3.拼接字段
将值连接起来构成一个单一的更长的值
4.使用concat(),trim()函数创建拼接字段
在这里插入图片描述
5.加减乘除的运算符操作(±*/)
在这里插入图片描述
6.调用upper使供应商名称大写
在这里插入图片描述
7.调用soundex(),查询名字发音类似的联系人
在这里插入图片描述
8.调用date()查询某一时间的订单
在这里插入图片描述
9.聚合函数
9.1查询平均值
在这里插入图片描述
9.2查询customers中的客户总数
在这里插入图片描述
9.3查询表中最高价和最低价;
在这里插入图片描述在这里插入图片描述
9.4去掉重复行的平均值
在这里插入图片描述
9.5组合聚合函数
在这里插入图片描述
六、分组:group by 过滤: having
1.查询每个供应商提供的产品的数量
在这里插入图片描述
2.查询至少有两个订单的客户
在这里插入图片描述
3.查询拥有产品数大于或者等于2,且产品价大于或等于10的供应商(where 用于分组前的过滤,having 用于分组后的过滤)
在这里插入图片描述
4.查询订单号和所有订单中总价大于或等于50 的订单
在这里插入图片描述
总结:select … from … where… group by … having … order by … limit … ;

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值