美文网首页
DQL:数据查询语言(单表)

DQL:数据查询语言(单表)

作者: 别动我名字呀 | 来源:发表于2018-09-28 00:10 被阅读6次

1.查询一张表的所有字段:

 select * from 表名;

2.查询指定字段:

select 字段1,字段2,字段3….from 表名;

3.like(模糊查询)

select 字段1,字段2…
% :任意字符
_  :单个字符
例:
select * frome t_student where stuName like ‘%张三%”;

4.where(条件查询)

1.limit (分页查询)
指定从哪个位置开始,一共查询多少条
SELECT * FROM p_operation_log limit 0,10

2.and(并且)
查询性别为男,并且年龄为20的学生记录
select  * from  students where gender='男'  and age=20;

3.or(或者)
查询性别为男,或者年龄为20的学生记录
select * from students where gender='男' or age=20;

4.in(包含)
查询学号为 1001,1008,10010的记录
select *  from students where  id=1001 or id=1008, or id=10010;
select *  from students where  id in(1001,1008,10010);

5.is null(为空)
查询年龄为null的值
select *  from students where  age is null;

6. is not null(不为空)
查询年龄不为null的值
select *  from students where  age is not  null;

7.!= (不等于)
查询性别不为男的记录
select *  from students where  gender != '男'

8.  between … and
查询年龄在18~20之间的学生记录
select *  from students where age>=18 and age<=20;
select *  from students where gae between 18 and 20;

5.字段控制查询

1.distinct(去重)
按照名字去重
select distinct name form students;

2. AS …(别名)
将字段name 改为resName
 select name as resName  from students

6.order by(排序)

ASC(从小到大  默认)
desc (从大到小)

按照年龄从小到大排序,有相同的则按照学号从大到小
select * from students order by age, id desc;

7.聚合函数

1.count() :(统计指定列不问null的行数)
查询工资加绩效大于5000的总人数
select count(id) from emp where ifnull(salary,0)+ ifnull(perfromance,0)>5000;
查询有绩效的人数和有管理费的人数
select count(perfromance),count(manage) form emp; 

2.max():(计算指定列的最大值,如果列是字符串类型,那么使用字符串排序运算)
查询员工的最高工资:
select max(salary) from emp 

3.min():(计算指定列的最小值,如果列是字符串类型,那么使用字符串排序运算)
查询员工的最低工资:
select min(salary) from emp 

4.sum():(计算指定列的数值和,如果指定列是字符串类型,计算结果为0)
查询员工薪水总和
select sum(salary) from emp 

5.avg():(计算指定列的平均值,如果指定列是字符串类型,计算结果为0)
查询所有员工的平均工资:
select avg(salary) from emp 

8.group by(分组)

1.group by
select gender from emp group by gender;
当group by 单独使用时只展示每组的第一条记录

2.group_concat()
将所有员工分为男女两组,并显示所有名字:
select gender, group_concat(name) from emp group by gender;

3.group by() 结合聚合函数
将所有员工按照部门分组,并显示最高工资:
select dep, group_concat(salary) ,max(salary) from emp group by dep;

注:使用分组时,select 后面的字字段一般都会出现在group by后面

9.group by() +having

用来分组查询后指定一些条件输出结果;
1.查询工资总大于9000的部门名称以及工资总和
select dep sum(salsry) from emp  
    group by  dep
    having sum(salary) >= 9000;

having是对分组后过滤,可以使用聚合函数
where是对分组前过滤,不可以使用聚合函数

2.查询工资大于2000,工资总和大于9000的部门名称和工资总和
select salary dep sum(salary) from emp 
    where salary > 2000
    group by dep
    having sum(salary)>9000

相关文章

  • 04-DQL数据查询语言

    1.DQL单表数据查询 ---------------------------------------------...

  • DQL

    MySQL单表查询:目的:在MySQL管理软件中,可以通过SQL语句中的DQL语言来实现数据的分类:简单查询:如所...

  • DQL:数据查询语言(单表)

    1.查询一张表的所有字段: 2.查询指定字段: 3.like(模糊查询) 4.where(条件查询) 5.字段控制...

  • DQL -- 数据查询

    Data Query Language 简称DQL,数据库查询语言, 关键字为SELECT。 基础查询 查询表中所...

  • SQL基础概念

    SQL分类 DQL(数据查询语言):查询语句,凡是select都是DQL DML(数据操作语言):insert d...

  • 基础知识与常见数据类型

    DDL:数据定义语言 DCL:数据控制语言 DML:数据操作语言表的创建修改删除。表的复制: DQL:数据查询语言...

  • sql语句的分类DQL、DML、DDL、DCL

    1. 数据查询语言DQL 数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE 子句组成的查询...

  • SQL语句

    SQL语句主要分为四类 DQL(数据查询语言): 查询语句,凡是select语句都是DQL。 DML(数据操作语言...

  • DQL语句

    1、DQL(数据查询语言)主要用于进行数据表中数据的查询 基本语法:SELECT 属性1,属性2,…. FROM ...

  • MySQL之DQL查询数据

    四、DQL查询数据 1.DQL(Data Query Language):数据查询语言 所有的查询操作都要用它 S...

网友评论

      本文标题:DQL:数据查询语言(单表)

      本文链接:https://www.haomeiwen.com/subject/tgsroftx.html