< !-- 菜鸟的学习笔记 -->
将重复的数据去除掉
语法: select distinct 字段1,字段2 from 表名;
例子: 去除表中重复的名字 select distinct name from table;
注意: distinct关键词只能放在select关键词后面。
思考: 如果distinct后面跟了多个列名,那么如何去重?
只有当多个列名都相同的情况下,才会被去除。
把查询出来的数据,进行展示
注意: 是先查询出来之后才能子排序展示。且排序不改变变表里面的数据。
语法:
select col_name,… from tb_name
order by col_name [asc|desc],…
1.排序使用order by子句,asc升序,desc降序 默认升序
2.该子句支队查询记录显示调整,并不改变查询结果,所以执行权最低,即最后执行
例子: 查询员工的工资和name,对工资进行升序排序
select salary,name from tables
order by salary asc;
order by后面还可以跟数字,表示使用select后面的第几个列进行排序。
null值排序规则(排序是无限大)
升序排列,默认情况下,null值排后面
降序排序,默认情况下,null值排前面
限制查询指的是根据一些特定的条件对数据进行筛选。
语法:
select col_name,… from tb_name
where col_name 比较操作符表达式
逻辑操作符(and|or)
col_name 比较操作表达式;
比较符:
= > < >= <=
不等于:三个都表示不等于的意思
!= <> ^=
例子: 查看员工工资小于1000的员工id和名字
select id,name from tables
where salary < 1000;
逻辑比较符
between…and…
between x and y:在什么范围之内[x,y]
将重复的数据去除掉
语法: select distinct 字段1,字段2 from 表名;
注意: distinct关键词只能放在select关键词后面。
思考: 如果distinct后面跟了多个列名,那么如何去重?
只有当多个列名都相同的情况下,才会被去除。
把查询出来的数据,进行展示
注意: 是先查询出来之后才能子排序展示。且排序不改变变表里面的数据。
语法:
select col_name,… from tb_name
order by col_name [asc|desc],…
1.排序使用order by子句,asc升序,desc降序 默认升序
2.该子句支队查询记录显示调整,并不改变查询结果,所以执行权最低,即最后执行
例子: 查询员工的工资和name,对工资进行升序排序
select salary,name from tables
order by salary asc;
order by后面还可以跟数字,表示使用select后面的第几个列进行排序。
null值排序规则(排序是无限大)
升序排列,默认情况下,null值排后面
降序排序,默认情况下,null值排前面
限制查询指的是根据一些特定的条件对数据进行筛选。
语法:
select col_name,… from tb_name
where col_name 比较操作符表达式
逻辑操作符(and|or)
col_name 比较操作表达式;
比较符:
= > < >= <=
不等于:三个都表示不等于的意思
!= <> ^=
例子: 查看员工工资小于1000的员工id和名字
select id,name from tables
where salary < 1000;
逻辑比较符
between…and…
between x and y:在什么范围之内[x,y]
例子: 查看员工工资在700到1500之间的员工id和名字
select id,name from tables where salary between 700 and 1500;
IN(list)
在一个列表中筛选
例子: 查看员工工号1,3,5,7,9员工的工资
select id,name from tables
where id in(1,3,5,7,9);
LIKE
即值不是很精确的时候使用
通配符 即可以代替任何内容的符号
%:通配0到多个字符
_:当且仅当通配一个字符
转义字符:
默认为\,可以指定 指定的时候要用escape符号知名即可,转义字符只能转义后面的一个字符
例子: 查看员工的名字以C字母开头的员工的id,工资
select id,salary,name from tables
where name like ‘C%’;
例子: 查看员工名字长度不小于5,且第四个字母为n的员工id和工资
select id,salary,name from tables
where name like ‘__n%’;
例子: 查看员工名字中包含一个_员工的id和工资
select id,salary from tables
where name like ‘%_%’ escape ‘’;
is null
对null值操作特定义的操作符,不能使用=
逻辑操作符
and:且逻辑
or:或逻辑
注意: and优先级比or优先级要高
not: 非逻辑
NOT BETWEEN AND
NOT IN
NOT LIKE
IS NOT NULL 查看员工工资在700到1500之间的员工id和名字
select id,name from tables where salary between 700 and 1500;
IN(list)
在一个列表中筛选
例子: 查看员工工号1,3,5,7,9员工的工资
select id,name from tables
where id in(1,3,5,7,9);
LIKE
即值不是很精确的时候使用
通配符 即可以代替任何内容的符号
%:通配0到多个字符
_:当且仅当通配一个字符
转义字符:
默认为\,可以指定 指定的时候要用escape符号知名即可,转义字符只能转义后面的一个字符
例子: 查看员工的名字以C字母开头的员工的id,工资
select id,salary,name from tables
where name like ‘C%’;
例子: 查看员工名字长度不小于5,且第四个字母为n的员工id和工资
select id,salary,name from tables
where name like ‘__n%’;
例子: 查看员工名字中包含一个_员工的id和工资
select id,salary from tables
where name like ‘% \ _%’ escape ’ \ ';
is null
对null值操作特定义的操作符,不能使用=
逻辑操作符
and:且逻辑
or:或逻辑
注意: and优先级比or优先级要高
not: 非逻辑
NOT BETWEEN AND
NOT IN
NOT LIKE
IS NOT NULL