select
1、起别名(别名不要有特殊符号,要是有,需要加引号引起来)
#便于理解
#如果查询的字段有重名的情况,使用别名可以区分开
select 列名 as 名称,列名 as 名称 from 表;
或 select 列名 名称,列名 名称 from 表;
2、查询员工表中涉及到的所有部门编号(distinct去重)
select distinct 列 from 表
3、+号的作用:
mysql中的+号只有一个运算功能
select 100+90; 两个操作数都为数值型
select ‘123’+90; 其中一个为字符串,试图将字符型数值转换成数值型,如果成功,则继续做加法计算
select ‘Alex’+90; 如果转换失败,则将字符型数值转换为0
select null +90 只要一方为null 结果就为null
4、concat:拼接
查询员工名和姓连接成一个字段,并显示为姓名
select concat(列1,列2)as 姓名 from 表;
5、select concat (列1,‘,’,列2,',',ifnull(列3,任意显示))as 名称 from 表;
注(如果列3为null 拼接的时候就要把他设置一个固定显示值,如果不是null会显示本身值)
进阶2:条件查询
1、按条件表达式筛选
条件运算符:> < = <>不等于 >= <=
案例1:查询工资>12000的员工信息
select * from 员工表 where 工资列>12000
案例2:查询部门编号不等于90号的员工名和部门编号
select 员工名列 部门编号列 from 员工表 where 部门编号列 <>90
2、按逻辑表达式筛选
逻辑运算符: and和&&一样:如果两个都为true,结果为true,反之false
or和||一样:只要有一个为true结果为true,反之false
not和!一样:如果连接的条件本身为false,结果为true
案例1:查询工资在10000到20000之间的员工名、工资和奖金
select 员工名,工资,奖金 from 员工表 where 奖金>=10000 and 奖金<=20000;
3、模糊查询
like:一般和通配符搭配使用
% 任意多个字符,包含0个
_ 任意单个字符,就1个
案例1:员工名中包含字符a的员工信息
select * from 员工表 where 员工名 like ‘%a%’
between and
in
is null
select 查询列表 from 表 where 筛选条件 order by asc(升序)/desc(降序)