文档章节

MYSQL中一些疑问

H
 Haver
发布于 2016/12/08 11:00
字数 446
阅读 0
收藏 0
点赞 0
评论 0

having&where区别:

     having与where类似,可以筛选数据,where后的表达式怎么写,having后就怎么写

                    where针对表中的列发挥作用,查询数据

                    having对查询结果中的列发挥作用,筛选数据

                    #查询本店商品价格比市场价低多少钱,输出低200元以上的商品

                    select goods_id,good_name,market_price - shop_price as s from goods having s>200 ;

                    //这里不能用where因为s是查询结果,而where只能对表中的字段名筛选

                    如果用where的话则是:

                    select goods_id,goods_name from goods where market_price - shop_price > 200;

mysql子查询:

        1、where型子查询

                (把内层查询结果当作外层查询的比较条件)

                #不用order by 来查询最新的商品

                select goods_id,goods_name from goods where goods_id = (select max(goods_id) from goods);

                #取出每个栏目下最新的产品(goods_id唯一)

                select cat_id,goods_id,goods_name from goods where goods_id in(select max(goods_id) from goods group by cat_id);

 

        2、from型子查询

                (把内层的查询结果供外层再次查询)

                #用子查询查出挂科两门及以上的同学的平均成绩

                    思路:

                        #先查出哪些同学挂科两门以上

                        select name,count(*) as gk from stu where score < 60 having gk >=2;

                        #以上查询结果,我们只要名字就可以了,所以再取一次名字

                        select name from (select name,count(*) as gk from stu having gk >=2) as t;

                        #找出这些同学了,那么再计算他们的平均分

                        select name,avg(score) from stu where name in (select name from (select name,count(*) as gk from stu having gk >=2) as t) group by name;

 

        3、exists型子查询

                (把外层查询结果拿到内层,看内层的查询是否成立)

                #查询哪些栏目下有商品,栏目表category,商品表goods

                    select cat_id,cat_name from category where exists(select * from goods where goods.cat_id = category.cat_id);

 

 

 

© 著作权归作者所有

共有 人打赏支持
H
粉丝 1
博文 31
码字总数 6863
作品 0
深圳
后端工程师
数据库连接池的一点小疑问

在项目开发中遇到这样的问题 public class demo1 {public static void main(String[] args) {User user = new User();for(int i=0;i<1000;i++){daoService.insert(user);}} } 这是一个程序批......

kong_resty
2013/03/21
837
4
Mysql 主从复制及读写分离的疑问

本人这两天在研究mysql读写分离,于是到处度娘。得出的结论是,读写分离要进行主从复制。所以先对mysql进行了主从配置,很简单。一切ok了。 但是随之有个很菜鸟的疑问,按照之前的想法,mas...

wonailmy
2017/07/06
115
2
Spring Transaction + MyBatis SqlSession事务管理机制研究学习

原文地址:Spring Transaction + MyBatis SqlSession事务管理机制研究学习 线上的系统中,使用的是Spring+Mybatis+Mysql搭建的框架,由于客户需要,最近一直在对性能提升部分进行考虑,主要是...

Realfighter
2015/01/10
0
1
我们需要MySQL5.0拥有5.4的性能吗?

带有Innodb 引擎的MySQL 5.4 看起来要比MySQL5.0的性能好很多-这是由于这个版本来自google集成的locking 和 IO Patchs(类似Percona patches),一些特别的修善比如不同的innodbthread_conc...

老枪
2009/05/03
1K
0
mysql 5.6中关于innodb_stats_on_metadata

在mysql 5.6中,innodbstatsonmetadata默认是关闭了这个会对INFORMATIONSCHEMA中的一些表进行查询操作,以方便索引统计信息,如果读要求高的建议关闭,见淘宝丁奇的http://t.cn/zWG9ikt一文;...

jackyrong
2013/03/02
0
0
MYSQL老密码与php版本扩展关系

mysql的用户密码保存在数据库中是加密的。不可逆的。当需要创建一个新的帐号,如果是使用insert插入一条记录, mysql提供了一个函数PASSWORD(),对明文进行加密。所以有如下sql: insert int...

wangtaotao
2012/04/04
0
0
统计mysql里每条SQL语句执行的时间

概述 通常为了测试一些工具的性能,不得不用数据说话。数据可以客观地证实一些东西。例如关于一些数据库中间件的性能,对于一个初学者来说只会看到表面上的夸词。我们不得不去证实,那就用具...

buglife
2014/09/19
0
3
MySQL 8.0即将来临,亮点都在这!

  【IT168 资讯】MySQL 8.0即将来临,它将为MySQL带来一系列巨大变化。MySQL 5.7已经推出一年多了,其原生JSON数据类型受到了广大用户的热烈欢迎,它为用户带来了更好的性能和更棒的安全性...

it168网站
2017/03/01
0
0
mysql连接报错 ERROR 2002 (HY000): Can't connect to local MySQL server through socket

安装完mysql连接报错: [root@localhost app]# mysqlERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)[root@localhost app]# mys......

赤练挚爱
2016/10/12
0
0
Mysql主从中Master上面的Mysql Query与Slave上的bin-log执行上的差别

今天灵光一现,突然想到一个问题,而后有一些疑问,希望各位道友予以解惑! 一般来说,当并发到一定程度,单台的Mysql服务器承受不住的时候,会做主从来缓解压力。而主从的原理就是Master端在...

吕秀才
2013/12/06
403
4

没有更多内容

加载失败,请刷新页面

加载更多

下一页

win10 上安装解压版mysql

1.效果 2. 下载MySQL 压缩版 下载地址: https://downloads.mysql.com/archives/community/ 3. 配置 3.1 将下载的文件解压到合适的位置 我最终将myql文件 放在:D:\develop\mysql 最终放的位...

Lucky_Me
11分钟前
0
0
linux服务器修改mtu值优化cpu

一、jumbo frames 相关 1、什么是jumbo frames Jumbo frames 是指比标准Ethernet Frames长的frame,即比1518/1522 bit大的frames,Jumbo frame的大小是每个设备厂商规定的,不属于IEEE标准;...

问题终结者
25分钟前
0
0
expect脚本同步文件expect脚本指定host和要同步的文件 构建文件分发系统批量远程执行命令

expect脚本同步文件 在一台机器上把文件同步到多台机器上 自动同步文件 #!/usr/bin/expectset passwd "123456"spawn rsync -av root@192.168.133.132:/tmp/12.txt /tmp/expect {"yes...

lyy549745
26分钟前
0
0
36.rsync下 日志 screen

10.32/10.33 rsync通过服务同步 10.34 linux系统日志 10.35 screen工具 10.32/10.33 rsync通过服务同步: rsync还可以通过服务的方式同步。那需要开启一个服务,他的架构是cs架构,客户端服务...

王鑫linux
34分钟前
0
0
matplotlib 保存图片时的参数

简单绘图 import matplotlib.pyplot as pltplt.plot(range(10)) 保存为csv格式,放大后依然很清晰 plt.savefig('t1.svg') 普通保存放大后会有点模糊文件大小20多k plt.savefig('t5.p...

阿豪boy
38分钟前
0
0
java 8 复合Lambda 表达式

comparator 比较器复合 //排序Comparator.comparing(Apple::getWeight);List<Apple> list = Stream.of(new Apple(1, "a"), new Apple(2, "b"), new Apple(3, "c")) .collect(......

Canaan_
昨天
0
0
nginx负载均衡

一、nginx 负载均衡 拓扑图: 主机信息: 1、负载均衡器1(lb1):192.168.10.205 RHEL7.5 2、负载均衡器2(lb2):192.168.10.206 RHEL7.5 3、web服务器1(web01):192.168.10.207 Centos...

人在艹木中
昨天
0
0
做了一个小网站

做了一个小网站 www.kanxs123.com

叶落花开
昨天
0
0
继社会佩奇之后,又尝试了可爱的蓝胖子,有趣 Python

#哆啦A梦# !/usr/bin/env python3# -*- coding: utf-8 -*-# @Author: dong dong# @Env: python 3.6from turtle import *# 无轨迹跳跃def my_goto(x, y): penup(...

Py爱好
昨天
0
0
shell及python脚本方式登录服务器

一、问题 在工作过程中,经常会遇见需要登录服务器,并且因为安全的原因,需要使用交互的方式登录,而且shell、python在工作中也经常用到,并且可以提供交互的功能。都是利用了expect、spawn...

yangjianzhou
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部