数据库(7)DQL(1)数据查询 结果集

虚拟结果集

即查询出来的结果,我们称之虚拟结果集,存放再内存里面,下次进来就没了
查询所有列
 SELECT * FROM 表名;

结果集

  • 数据库执行DQL语句不会对数据进行改变,而是让数据库发送结果集给客户端.
  • 结果集:
    • 通过查询语句查询出来的数据以表的形式展示,我们称这个表为虚拟结果集.存放再内存中
    • 查询返回的结果集就是一张虚拟表
查询指定的列
 SELECT 列名1,列名2 FROM 表名;

条件查询

  • 条件查询就是在查询时给出WHERE子句,在WHERE子句中可以使用一些运算符以及关键字
  • 条件查询运算符以及关键字
    • BETWEEN...AND; 值在什么范围
    • IN(set);
    • IS NULL; (为空)
    • IS NOT NULL; (不为空)
    • AND; 与
    • OR; 或
    • NOT; 非


模糊查询

  • 根据指定的关键字进行查询
  • 使用LIKE关键字后跟通配符
  • 通配符
    • _ : 任意一个字母
    • %: 任意0~n个字母
去除重复记录
 SELECT DISTINCT 列名 FROM 表名;
把查询字段的结果进行运算,必须都要是数值型
 SELECT *,字段1+字段2 FROM 表名;
  • 列有很多记录的值为null,因为任何东西与NULL相加的结果还是NULL,所以结算结果可能会出现NULL,下面使用了把NULL转化成数值0的函数IFNULL:
    SELECT *,age+IFNULL(score,0) FROM students;
    


对查询结果起别名

  • 在上面的查询中出现列名为sx+IFNULL(yw,0),这很不美观,现在我们给这一列起一个别名,为total:
    SELECT *,yw+IFNULL(sx,0) AS total FROM score;
    # 省略
    AS SELECT *,yw+IFNULL(sx,0) total FROM score;
    


排序

  • 关键字 ORDER BY
  • 排序类型(默认是ASC))
    • 升序ASC 从小到大
    • 降序DESC 从大到小
  SELECT * FROM  表名  ORDER BY  列名  DESC(一级别排序), 列名 DESC(二级别排序),...(n级别排序);

你可能感兴趣的:(数据库(7)DQL(1)数据查询 结果集)