DQL操作-select常用查询

   数据查询语言(DQL:Data Query Language):也称为“数据检索语句”

        用以从表中获得数据,确定数据怎样在应用程序给出。保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。这些DQL保留字常与其它类型的SQL语句一起使用。

SQL语句执行顺序:

      from -> where -> group by -> having -> select -> order by -> limit (pageNo-1)*pageSize,pageSize ;

整理下常用的select的基础查询

1、字段(列)控制

  1)查询所有列:select * from 表名; “*”表示查询所有列

  2)查询指定列:select 列1,列 2,列 N from 表名;

       3)select null + 任何东西; 结果的null。   

2、distinct关键字,查询不重复的记录     

select distinct 字段 from 表名;

        当查询结果中的多行记录一模一样时,只显示一行。

        一般查询所有列时很少会出现这样情况,但只查询一列时,这种可能性就大了。

案例: select distinct name from students;  //查询名字不相同的学生;

            select distinct name,age from students; //查询名字和年龄同时不同的学生

注意:

     1)distinct 只能使用需要去重的字段进行操作。  -- 也就是说distinct 了name,age两个字段,后面想根据id进行排序,是不可以的,因为只能name,age两个字段进行操作.

     2)distinct 去重多个字段时,含义是:几个字段 同时重复时才会被过滤。

3、 AS关键字,起别名

      AS 可以给表或者字段列取个别名,AS关键字可以省略不写

     取的别名中包含特殊符号,比如空格、#号等,我们把别名用引号引起来,尽量避免使用特殊符号

4、MySQL运算符

   更多MySQL运算符参考网址:https://zixuephp.net/manual-mysql-1346.html

    1)比较运算符

          条件运算符: > , < , = , != 或 <>(MYSQL特有的不等号) , >= , <=。        

         安全等于号:<=> , 严格比较两个NULL值是否相等;

    2)按照逻辑表达式筛选

         逻辑运算符: 支持java的写法(&& , || , ! ), 但推荐使用mysql自己的(and , not , or)。

    3)LIKE模糊查询:

             %: 通配符,表示任意多个字符,也可表示0个字符,

             _: 任意一个字符;        
       SELECT * FROM user WHERE username LIKE '小%';

       注意:如果查询字符包含特殊字符,需要用转义字符

             like '%\_%';    //支持java的转义字符\

             like '%&_%' escape '&';     // escape '&':声明&符号是转义字符

      4)between 数值 and 数值

              id between 100 and 200;

       注意:

           1)并且包含临界值

           2)两个临界值不能调换位置,小的在左边,大的值在右边.

         5)IN关键字

             判断某个字段的值是否属于in列表中的某一项

             id in(10,20,30)

          注意:in的值必须是同一种数据类型或者兼容

         4) is null | is not null:只能判断null值

             is null:  只能判断null值,不能判断普通数值

             =:  只能判断普通数值,不能判断null值      

 

5、排序:ORDER BY关键字    语法:

SELECT field1, field2,...fieldN table_name1, table_name2...

ORDER BY field1 [ASC|DESC], [field2...] [ASC|DESC];  

 注意: DESC:降序,ASC:升序(默认可不写),可以设定多个字段来排序。

 

6、MySQL函数

        参考网址(挺全的):https://zixuephp.net/manual-mysql-1345.html

7、聚合函数

     聚合函数和常见函数不同在于,常见函数是对内容本身的处理,而聚合的主要功能是统计。

     聚合做某列的纵向运算,为null的项不参与运算。

分组函数主要有:

     count(*)计算个数

     max()  最大值

     min()  最小值

     sum()     和

     avg()  平均值

聚合函数还可以和一个关键字 distinct 配合使用:

            select count(distinct salary) from employees;

8、分组聚合查询

       分组查询使用 group by 关键字实现分组,即分组聚合查询

       组条件:分组后的条件使用having, 分组前的条件使用where

分组聚合查询语法:      

       select
                列(这个列要求必须只能是group by的后面字段),
	            聚合函数()
       from
                表名
       where
                筛选条件(针对表的所有记录)
       group by
                分组字段列表
       having(只能配合group by使用)
                与分组有关的筛选条件(针对分组后的每组内记录)
       order by
                排序

这篇文章不错:MySQL 数据库铁律​​​​​​​

    熟练掌握必须多写SQL语句

ends~

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值