SQL查询--条件查询

使用的数据库:
https://blog.csdn.net/weixin_44953902/article/details/100169739

一、比较运算符

-- select .... from 表名 where ....

大于
   -- >
   -- 查询大于18的信息
   select * from students where age>18;
小于
   -- <
   -- 查询小于18岁的信息
   select * from students where age<18;
大于等于/小于等于
   -- <=
   -- >=
   -- 查询小于或等于18岁的信息
   select * from students where age<=18;
等于
   -- =
   -- 查询年龄为18岁的信息
   select * from students where age=18
不等于
   -- != 或者<>
   select * from students where age!=18;

例如:

-- 查询大于18的信息
   select * from students where age>18;

在这里插入图片描述

二、逻辑运算符

and
   -- 18到28之间的所有学生信息
   select * from students where age>18 and age<28;
   -- 失败select * from students where age>18 and <28;
   -- 18岁以上的女性
   select * from students where age>18 and gender="女";
   select * from students where age>18 and gender=2;

在这里插入图片描述

or
   -- 18岁以上或者身高超过180(包括)以上
   select * from students where age>18 or high>=180;

在这里插入图片描述

not
   -- 不在18以上的女性 这个范围的信息
   select * from students where not age>18 and gender=2;

在这里插入图片描述

-- not(加括号最保险)
   -- 不在18以上的女性 这个范围的信息
   select * from students where not age>18 and gender=2;
   select * from students where (not age>18) and gender=2;
   -- 年龄不是小于或者等于18,并且是女性
   select * from students where not (age<=18 and gender=2);

在这里插入图片描述
在这里插入图片描述

三、模糊查询

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"___";
   -- 查询至少有两个字的名字
   select * from students where name like"__%";

在这里插入图片描述

rlike 正则
-- 查询以周开始的姓名
select name from students where name rlike "^周.*";

在这里插入图片描述

   -- 查询以周开始,伦结尾的姓名
   select name from students where name rlike "^周.*伦$";

在这里插入图片描述

四、范围查询

in
-- in (1,3,8)表示在一个非连续范围内
   -- 查询 年龄为12,18,34的姓名
  -- select name,age from students where age=12 or age=18 or age=34;
   select name,age from students where age in(12,18,34);  

在这里插入图片描述

not in
-- not in 不在非连续范围之内
   -- 年龄不是18,34的姓名
   select name,age from students where age not in(18,34)

在这里插入图片描述

between … and …
-- between ... and ...表示在一个连续的范围内
   -- 查询年龄在18到34之间的信息
   select name,age from students where between 18 and 34;

在这里插入图片描述

not between … and …
-- not between ... and ...表示在一个连续的范围内
   -- 查询年龄不在18到34之间的信息
   select name,age from students where age not between 18 and 34;
   --也可以select name,age from students where  not (age between 18 and 34);
   -- 失败select name,age from students where age not (between 18 and 34);
   -- 因为not between 是一种用法,它们是一个整体,不能加括号

在这里插入图片描述

五、空判断

is null
-- 判断 is null 
   -- 查询身高为空的信息
   select * from students where high is null;

在这里插入图片描述

is not null
-- 判非空 is not null
   -- 查询身高不为空的信息
   select * from students where high is not null;

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值