• 查询(条件,比较,逻辑,模糊,范围,排序,聚合,分组,分页)


    1、查询所有字段:select * from students;

    2、查询指定字段:select name,sex,hometown from students;

    3、字段起别名: select name as 姓名,sex as 性别,hometown as 家乡 from students

     4、消除重复行:select+distinct+字段名

    查询性别这一列,是否有重复的数据:select distinct sex from students;

    查询性别这一列,打印性别班级: select distinct sex,class from students;

     5、条件查询:

          语法:select 字段1,字段2......from 表名 where 条件

    select * from students where studentNo='001';

     6、比较运算符:

     例:查询20岁以下的学生  select * from students where age<20;

    7、逻辑运算符: and or not

    例:查询年龄小于20的女学生  select * from students where age<20 and sex='女';

    例:查询女同学或1班的学生 select * from students where sex='女' or class='1班';

    8、模糊查询:like  

    相当于是关键字查询

    例:查询姓孙的学生 :select * from students where name like '孙%';

    例:查询姓孙,且名字是一个字的学生 :select * from students where name like '孙_’;

    例:查询叫乔的学生 :select * from students where name like '%乔';

    例:查询姓名含白的学生 :select * from students where name like '%白%';

    9、范围查询:

    in 表示在一个非连续的范围内

    例:查询家乡是北京或上海或广东的学生 :select * from students where hometown in('北京','上海','广东');

    between...and... 表示在一个连续的范围内

    例:查询年龄为18-20的学生 :select * from students where age between 18 and 20;

    10、空判断:

        注意:null与 '' 是不同的

    例:查询 没有 填写身份证的学生 :select * from students where card is null;

    例:查询 填了 身份证的学生 :select * from students where card is not null;

    11、sql查询-排序: order by 

                  语法:select * from 表名 order by 列名

        asc 从小到大排序,升序:

          例:查询所有学生的信息,按年龄从小到大排序 :select * from students ordey by age asc;

        desc 从大到小排序,降序:

          例:查询所有学生的信息,按年龄从大到小排序 :select * from students ordey by age desc;

      例:查询所有学生信息,按年龄从大到小排序,年龄相同时,再按学号从小到大排序:

        select * from students order by age desc,studentNo asc

    12、聚合函数:用来统计数据

    count(*)   表示计算总行数 

        例:查询学生总数 :select count(*) from students; 

    max(列)  表示求此列的最大值

        例:查询女生的最大年龄 :select max(age) from students where sex='女';

    min(列)  表示求此列的最小值

        例:查询1班最小年龄 :select min(age) from student;

    sum(列) 表示求此列的和

        例:查询北京学生的年龄总和 :select sum(age) from students where hometown='北京';

    avg(列) 表示求此列的平均值

        例:查询女生的平均年龄 :select avg(age) from students where sex='女';

    13、分组 :group by

    按照字段分组,表示此字段相同的数据会被放到一个组中

        语法:select 列1,列2,聚合... from 表名 group by 列1,列2...

        例:查询各种性别的人数 :select sex,count(*) from students group by sex;

        

        例:查询各种年龄的人数 :select age,count(*) from students group by age;

        

     14、分组后的数据筛选:having(过滤)

         语法:select 列1,列2,聚合... from 表名

            group by 列1,列2,列3...

            having 列1,...聚合...  

         例:查询男生的总人数 :方法1:select count(*) from students where sex='男';

                     方法2:select sex,count(*) fromstudents group by sex having sex='男';(先查询各种性别的人数,再把女过滤掉)

     15、分页取值:limit  

    当数据量过大的时候,在一页中查看数据是一件非常麻烦的事

        语法:每页显示m条数据,求显示第n页的数据 : select * from students limit (n-1)*m,m

        例:查询前3行学生信息 :select * from students limit 0,3(0表示位置开始,取3条)

        例:每页显示5条数据,求显示第2页的数据  求共几页:select count(*)  from students  (12/5=3页)

          第一页:select * from students limit 0,5

          第二页:select * from students limit (2-1)*5,5  (5表示位置开始,取5条)

          第三页:select * from students limit (3-1)*5,5

      

  • 相关阅读:
    docker基本命令
    服务器端使用DeferredResult异步推送技术
    单链表输出倒数第k个结点值(栈实现)
    fork炸弹
    BlockingQueue实现阻塞队列
    C#工作笔记
    实现一个简单的Log框架
    (转载)在spring的bean中注入内部类
    Spring整合Hessian
    spring整合axis2(最小配置化)的示例
  • 原文地址:https://www.cnblogs.com/xiaomengceshi/p/13631953.html
Copyright © 2020-2023  润新知