dljd_(011-020)_简单的查询

一、不等号查询条件

  1.1查询学生表(student)中年龄(age)不等于20的所有学生信息   

        select * from student where age!=20;

        select * from student where age<>20;

   1.2查询学生表(student)中生日(brthday)不是1998-10-01日的所有学生的信息  

        select * from student where birthday !='1998-10-01';
    
        select * from student where birthday <>'1998-10-01';

  1.3查询学生表(student)中职位()不是班长的所有同学的信息  

        select * from student where isMonitor !='班长';
        select * from student where isMonitor <>'班长';

二、<、<=、>、>=条件查询

  2.1查询学生表(student)中成绩(score)小于80的所有学生的信息  

        select * from student where score<80;

  2.2查询学生表(student)中成绩(score)小于等于80的所有学生的信息

        select * from student where score<=80;

  大于(>)、大于等于(>=)的用法同小于(<)、小于等于(<=)

三、between...and的使用

  注意:between...and作用于数值型和日期时间型上是包头包尾、而作用于字符型上是包头不包尾!

  3.1查询学生表(student)中年龄(stuage)在23(包含)到25(包含)之间的所有学生信息

      select * from student where stuage between 23 and 25;

  3.2查询学生表(student)中出生日期(stubirthday)在'1994-01-01'(包含)到‘1996-12-31’(包含)之间的所有学生信息

        select * from student where stubirthday between '1994-01-01' and '1996-12-31';

  3.3查询学生表(student)中学生姓名(stuname)在a到f之间的所有学生信息  

    select * from student where stuname between 'a' and 'f';

   这里需要注意的是between ...and...作用于字符型上是包头,不包尾、也就是以上sql查询结果中不会出现以f开头的学生名。如果要出现那么将‘f’改为下个字母即‘g’。

四、and查询条件的用法

  sql中用and连接两个条件的时候、查询结果必须同时都满足这两个条件。and可以使用&&代替

  4.1查询学生表(student)中年龄(stuage)小于24、并且成绩(stuscore)大于80的同学信息 

        select * from student where (stuage<24) and (stuscore>80);
        select * from student where (stuage<24) && (stuscore>80);

 五、or查询条件的用法

  sql中使用or连接两个条件的时候,查询结果只需要满足其中的一个条件即可。and可以使用||代替

  5.1查询学生表(student)中年龄(stuage)小于24、或者成绩(stuscore)大于80的同学信息  

        select * from student where (stuage<24) or (stuscore>80);
        select * from student where (stuage<24) || (stuscore>80);

 六、and和or同时存在条件中时的优先级问题

  and和or同时存在条件中时:and的优先级要比or高。所以我们用括号来将or条件提升。

  6.1查询学生(student)表中成绩(stuscore)大于80、并且年龄(stuage)是24或这是26的学生的信息  

        --错误写法
        select * from student where stuscore>80 and stuage=24 or stuage=26;
        --正确写法
        select * from student where stuscore>80 and (stuage=24 or stuage=26);    

七、in/not in在查询条件中的用法

  7.1查询学生表(student)中年龄(stuage)是22或24的学生的信息  

        --用in
        select * from student where stuage in(22,24);
        --用or
        select * from student where stuage=22 or stuage=24;
    

  7.2查询学生表(student)中年龄(stuage)不是22或24的学生的信息  

        --用not in
        select * from student where stuage not in(22,24);
        --用and
        select * from student where stuage<>22 and stuage!=24;    

 八、模糊查询like

  %表示匹配0个或多个任意字符。

  _表示一个任意的字符

  8.1查询学生表(student)中名字(stuname)中包含a的学生的信息 

        select * from student where stuname like "%a%";

  8.2查询学生表(student)中名字(stuname)以a开头的学生的信息

        select * from student where stuname like "a%";   

  8.3查询学生表(student)表中学生的名字(stuname)第二个字符是"a"的学生信息  

     select * from student where stuname like "_a%";

  8.4查询学生表(student)中学生名字(stuname)中倒数第三个字符是a的学生信息  

        select * from student where stuname like "%a__";

   8.5查询学生表(student)中学生名字(stuname)中含有%的学生的学生信息(这里就需要使用转移符\)

        select * from student where stuname like "%\%%";

  

  

转载于:https://www.cnblogs.com/aeon/p/10109052.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值