13-Mysql-Ubuntu-数据表的查询-条件查询(二)

条件查询

1,比较查询(>,<,>=,<=,=)注:SQL查询语句的等于号(=)

(1)查询学生表中年龄大于18岁的学生姓名和性别信息

select name,gender from students where age>18;

(2)查询学生表中年龄大于等于18岁的学生姓名和性别信息

select name,gender from students where age>=18;

(3)查询学生表中年龄等于18岁的学生姓名和性别信息

select name,gender from students where age=18;

2,逻辑查询(and or not)

(1)查询年龄大于18岁并且是女生的学生信息;

select * from students where age>18 and gender=2;

(2)查询年龄大于18岁或者身高等于180的学生信息;

select * from students where age>18 or height=180;

(3)查询不在 18岁以上女生 这个范围内的学生信息;

select * from students where not (age>18 and gender=2);

(4)查询 年龄不是小于或者等于18岁 并且是女生的学生信息;

select * from students where not (age<=18 )and gender=2;

3,模糊查询

(1)like

%(通配符)---表示0个或多个字符;

_(通配符)---表示1个字符;

查询表中姓名以'小'开始的学生信息;

select  * from students where name like '小%';

查询表中姓名有'小'的学生信息;

select  * from students where name like '%小%';

查询表中姓名有两个字的学生信息;

select  * from students where name like '__';

查询表中姓名至少有两个字的学生信息;

select  * from students where name like '__%';

(2) rlike

正则表达式

. 表示单个字符;

*对前一个字符0次或无限次扩展;

^匹配字符串开头;

$匹配字符串结尾;

贪婪模式:尽可能多地匹配(默认)

懒惰模式:尽可能少地匹配,精准模式

如果出现如下组合,则代表为懒惰模式

*?

+?

查询以'周'开始的名字;

select * from students where name rlike '^周';

查询以'周'开始以'伦'结束的名字; 

select * from students where name rlike '^周.*伦$';

猜你喜欢

转载自www.cnblogs.com/summer1019/p/11031029.html