数据库(2)查询数据重点知识

一、查询所有列  

      SELECT * FROM student;

二、查询指定列

     SELECT id,NAME,gender FROM student;

三、查询时添加常量列

        需求: 在查询student表时添加一个班级列,内容为“javaS1”

           SELECT id,NAME,gender,age,'javaS1' AS '年级'  FROM student;

四、查询时合并列  (合并列只能合并数值类型的字段

      ---- 查询每个学生的servlet和jsp的总成绩

      SELECT id,NAME,(servlet+jsp) AS '总成绩' FROM student;

五、查询时去除重复记录(distinct)

    ------查询学生的性别     男 女

   SELECT DISTINCT gender FROM student;

六、条件查询

    1)逻辑条件: and (与)   or(或)

    2)比较条件  >   、< 、>=   、<= 、=   、<>  、between  and(包含头和尾)

    3)判断条件 (null空字符串): is null / is not null(包括null 和空字符串)

    4)模糊条件 : like

          % :表示任意个字符 

          _ :表示一个字符

             例如: 查询姓‘张’的学生  SELECT * FROM student WHERE NAME LIKE '张%';

         例如:查询姓‘李’,且姓名只有两个字的学生 SELECT * FROM student WHERE NAME LIKE '李_';

七、聚合查询  : sum()  avg()  max()  min()  count()

    例如:查询学生的jsp的总成绩   select sum(jsp)  as 'jsp的总成绩' from student;

    例如 : 查询当前有多少学生   select count(*) from student;

              -----注意:count()函数的数量不包含null数据

八、分页查询     limit 起始行,查询几行

     起始行从0开始: select * from student limit 0,2;     一页两条数据

九、查询排序   order by 
  asc : 正序 ,自然顺序   (默认排序) desc  :倒序

      例如 :  按照id顺序排序 倒序

                    SELECT * FROM student ORDER BY id DESC;-- 反序

      例如: 按照servletc成绩正序,按照jsp成绩的倒序

                   SELECT * FROM student ORDER BY servlet ASC,jsp DESC;

十、分组查询(group by

           例如 :  查询男、女的人数

            SELECT gender,COUNT(*) FROM student GROUP BY gender;

十一、分组查询后筛选  (having)

 例如: 查询总人数大于2的性别

SELECT gender,COUNT(*) FROM student WHERE GROUP BY gender HAVING COUNT(*)>2;

注意: 分组之前 条件使用where 关键字,分组之后使用having

**************************************************************************

having和where的区别

1、having是在分组后对数据进行过滤,where是在分组之前对数据进行过滤

2、having后面可以使用聚合函数,where后面不可以

3、where是针对分组前记录的条件,如果某行记录没有满足where条件,将不会参与分组,having是对分组后的数据进行筛选

************************************************************************
十二、sql语句的书写顺序

          select -- from -- where -- group by -- having -- order by -- limit

十三、sql语句的执行过程
            from-->where-->group by-->having-->select-->order by-->limit

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/weixin_42496678/article/details/81673037