DQL查询数据语言(重点)
Select (核心)1.查询所有字段 select * from `表名`;2.查询指定字段 select `字段1`,`字段2` from `表名`;3.给结果取一个名字 select `字段1` as 名字1,`字段2` as 名字2 from `表名`;4.去重distinct select distinct `字段` from `表名`;(例:select distinct `age` from `students`;)
where条件语句检索符合条件的值
运算符 | 语法 | 描述 |
and && | a and b / a && b |
逻辑与 两个都为真结果为真 |
or || | a or b / a || b | 逻辑或 一个为真结果为真 |
not ! | is not / != | 逻辑非 真假反转 |
select `classhour` from `subject` where `classhour` = 110 and `gradeid` =1;
select `classhour` from `subject` where `classhour` !=110; (select `classhour` from `subject` where not `classhour`=110;)
模糊查询
运算符 | 语法 | 描述 |
is null | a is null | 如果a为null,结果为真 |
is not null | a is not null | 如果a不为null,结果为真 |
between | a between b and c | 若a在b和c之间,结果为真 |
like | a like b | SQL匹配,如果a匹配b,结果为真 |
in | a in (a1,a2,a3...) | a在数列内,结果为真 |
1.like例子
查询表中姓胡的同学 like结合(%代表任意字符,_代表一个字符)
select `name` from `students` where `name` like \'胡%\';
查询姓胡的同学,名字后面只有一个字
select `name` from `students` where `name` like \'胡_\';
查询姓胡的同学,名字后面有两个字
select `name` from `students` where `name` like \'胡__\';
查询名字中间有太字的同学 %太%
select `name` from `students` where `name` like \'%太%\';
2.in例子
查询学号为10001,10002,10003的同学
select `name` from `students` where id in (10001,10002,10003);
3.null和not null
查询班级号为空的人
select `name` from `students` where `gradid` is null;
查询学科表内学时在100和140之间的人
select `classhour` from `subject` where `classhour` between 100 and 140;
来源:https://www.cnblogs.com/lofun/p/14598245.html
图文来源于网络,如有侵权请联系删除。