mysql(2)

查询:

所有数据
SELECT * FROM 表名

返回全表指定字段
SELECT userName,age FROM 表名

返回数据统计
SELECT english,(math+chinese) FROM 表名

返回数据统计 别名
SELECT english,(math+chinese) as 别名 FROM 表名

同时查两张表(笛卡尔积),查出的数据会进行整合 a表的每条数据会和b表的每条数据都一一匹配
SELECT * FROM A,B

where条件的符号:

常用的符号:
   >  <  <=  >=  =  <>(不等于)  in()包含括号中的值的数据   

   SELECT * FROM 表名 WHERE english <> 15    //english不等于15

   SELECT * FROM 表名 WHERE english in (10,12)    //english等于12或者10的值

搜索:

   like '张_'     结果:以张结尾的。如张飞  张三  _代表一个位置 前后皆可有
   like '%张%'    结果:包含张的即可            %代表多个位置 前后皆可有

   SELECT * FROM 表名 WHERE userName LIKE '%张%'

与 或 非:
   and     or    not

   SELECT * FROM 表名 WHERE english >90 AND english <100

在。。。之间
   between ... and

   SELECT * FROM 表名 WHERE english BETWEEN 60 and 100

排序(放在语句末尾、默认升序):
   order by 升序(asc)/降序(desc)
   
   SELECT * FROM 表名 ORDER BY english DESC    将english按降序查询
   SELECT * FROM 表名 ORDER BY english DESC,chinese DESC   将english按降序查询 如果english相同按chinese降序查询

聚合函数:

求数量:
    count()

    SELECT COUNT(*) FROM 表名

求和:
    sum()
    
    SELECT SUM(english),SUM(chinese) FROM 表名

求平均分
    avg()

    SELECT AVG(english) FROM 表名

求最大值
    max()

    SELECT MAX(english) FROM 表名

求最小值
    min()

    SELECT MIN(english) FROM 表名

分组查询:

分组查询:
    GROUP BY
    
    //查询按sex分组,并且返回不同的sex的值和分组后的english的总和
    SELECT sex,sum(english) FROM 表名 GROUP BY sex

分组过滤:
    having

    按sex分组 分组后查询english总和大于95的值
    SELECT sex,sum(english) FROM 表名 GROUP BY sex HAVING SUM(english)>95

    过滤掉english大于95的数据 然后安装sex进行分组
    SELECT sex,sum(english) FROM 表名 WHERE english>95 GROUP BY sex

总结:

select ... from ... where .... group by .... having .... order by 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值