数据库--SQL语言之DQL

一、基本查询

1.字段(列)控制
  • 查询所有列
    SELECT * FROM 表名;

    "*"表示查询所有列

  • 查询所有指定列
    SELECT 列1 [,列2,。。。。] FROM 表名;

  • 完全重复的记录只显示一行
    当查询结果中有多行重复记录时只显示一行。
    SELECT DISTINCT * | 列1 [,列2,。。。] FROM 表名;

  • 列运算

    1. 数量类型相同的列可以做加减乘除。
      SELECT age+1 FROM 表名;

    2. 字符串类型可以做连续运算
      SELECT CONCAT(’$’,num) FROM 表名;

    3. 转换NULL值
      SELECT IFNULL(num,0)+10 FROM 表名;

      num+10时,如果num存在NULL值,那么 num+10还是NULL,我们这时希望把NULL当0来运算。

    4. 给列起别名
      SELECT IFNULL(num,0)+10 AS 别名 FROM 表名;

2.条件控制
  • 条件查询
    SELECT 列1,列2 FROM 表名 WHERE 条件1 AND 条件2(?? IS NOT NULL);
    == SELECT 列1,列2 FROM 表名 WHERE 条件 IN(‘内容’);==
  • 模糊查询
    SELECT * FROM 表名 WHERE name LIKE '张_‘;

模糊运算使用运算符:LIKE,其中,匹配一个任意字符,注意,只匹配一个字符而非多个。
上面语句查询的是姓张且两个字组成的名字。’___‘:查询名字是三个字的人。’张%‘:查询姓张字数不限的人。

二、排序

  • 升序
    SELECT * FROM WHERE 表名 ORDER BY num ASC;

按【num】排序,升序!ASC可忽略

  • 降序
    SELECT * FROM WHERE 表名 ORDER BY num2 DESC;

按【num2】排序,降序!DESC不可忽略

  • 使用多列作为排序条件
    SELECT * FROM WHERE 表名 ORDER BY num ASC,num2 DESC;

使用num升序,如num相同则使用num2降序

三、聚合函数

聚合函数用来做某列的纵向运算。
1. COUNT
SELECT COUNT(*)FROM 表名;

计算表中所有列都不为NULL的记录的行数。

2. MAX
SELECT MAX(num) FROM 表名;

查询最高数字

3. MIN
SELECT MIN(num) FROM 表名;

查询最低数字

4. SUM
SELECT SUM(num) FROM 表名;

查询数字和

5. AVG
SELECT AVG(num) FROM 表名;

查询平均数

四、分组查询

分组查询是把记录使用某一列进行分组,然后查询组信息。
SELECT num COUNT(*) FROM 表名 GROUP BY num;

使用num分组,查询列不为NULL的记录的行。

SELECT job MAX(num) FROM 表名 GROUP BY job;

使用job分组,查询最高的数字(工资);

五、limit子句(方言)

limit 用来限制查询结果的起始行,以及总行数。 
SELECT * FROM 表名 LIMIT 4,3;

4 表示从第5行开始,其中3表示一共查询3行。即第5,6,7行记录。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值