05.条件查询

语法格式

select 字段,字段... from 表名 where 条件;

执行顺序:先from,然后where,最后select


查询数学成绩等于100的学生 (等于查询 - 数字)

SELECT name,math FROM studens WHERE math = 100;

查询太牛123的语文、数学、英语成绩 (等于查询 - 字符串)

SELECT name,china,math,english FROM studens WHERE name = '太牛123'; 


查询语文成绩小于60分的学生(小于查询)

SELECT name,china FROM studens WHERE china < 60;


查询语文成绩在80分~100分的学生 (大于等于 并且 小于等于 查询)

SELECT name,china FROM studens WHERE china >=80 AND china <= 100;

上面的and是逻辑与的意思。

除了上面的写法,还可以使用 BETWEEN AND 的写法。如 :

SELECT name,china FROM studens WHERE china BETWEEN 80 AND 100;

查询数学成绩为0分或者20分的学生 (逻辑或查询)

SELECT name, math FROM `studens` WHERE math = 0 OR math = 20;

上面的or是逻辑或的意思。除了这种写法外,or 也可以使用in来代替。比如上面的语句就可以用in写成 :

SELECT name, math FROM `studens` WHERE math IN(0,20);

0, 20 的值不是区间,是具体的值 。除了IN, 还有NOT IN 操作。 如 :

SELECT name, math FROM `studens` WHERE math NOT IN(0,20);


查询语文成绩 >= 60 并且 idCard == 225 || idCard == 228 的学生 (逻辑与和逻辑或一起使用的查询)

SELECT name,idCard,china FROM studens WHERE china >= 60 && idCard = 228 OR idCard = 225;

上面的查询语句是有问题的。marry的china分数是28,不符合 >= 60。正确的写法是需要加括号 :

SELECT name,idCard,china FROM studens WHERE china >= 60 && (idCard = 228 OR idCard = 225);


在数据库当中NULL不是一个值,它代表什么也没有。空不是一个值,不能用等号衡量。必须使用 is null或者is not null 

查询不是三好学生的学生(null查询)

SELECT * FROM studens WHERE issanhaoxuesheng IS NULL;

查询是三好学生的学生 (not null查询)

SELECT * FROM studens WHERE issanhaoxuesheng IS NOT NULL;


模糊查询

找出名字当中含有m的?

(在模糊查询当中,必须掌握两个特殊的符号,一个是%,一个是_)
%代表任意多个字符,_代表任意1个字符。

找出名字中,含有m的

SELECT name FROM studens WHERE name LIKE '%m%';

找出名字中,前2个字符是任意,第三个字符是m的

SELECT name FROM studens WHERE name LIKE '__m%';

找出名字中,最后一个字符是y的

SELECT name FROM studens WHERE name LIKE '%y';

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值