MYSQL之DQL
查询语句 Q query
select 选择 字段 from 表名 限定条件
select ename,job from 表名
使用*号代替所有的字段
select * from 表名
使用where限定
select * from 表名 where 字段="";
在查询时给查询的字段起别名 as作为
select 字段名 as 员工编号,字段名 as 员工姓名 from 表名;
- as可以省略但是要加空格 字段名 员工编号
这个表不是真实存在的,而是源数据表查询拼接而成;
去除重复数据 distinct
可以对多个字段去重 去重的效果是多个字段拼接的后果
distinct要写在所有字段的前面
ifnull 如果是空,使用特定值替换
- 为每个员工的工资都加一千 在sql中数值+数值可以正常运算
- 数值+字符串,如果字符串可以转换为数值可以正常运算,如果不能则结果为原数值
- 数值+null=null
- select ename 员工姓名 ,sal+1000 工资 from 表名
拼接字符串
select concat("我的编号是",empno,"我的工作是",job);
使用限定的逻辑表达式
and or not
select * from 表名 where 字段名 >= and 字段名 <
select * from 表名 where 字段名 between 100 and 200
- between 包头包尾 相对于 >=和<=
查找不为空 not null
不等于<>
模糊查询 查找出所有姓张的员工
select * from 表名 where name like "张%";
- %表示任意个 多个 一个字或者两个字或者多个字 张三 张晓松 张某某某
- 查找姓张为两个字的select * from 表名 where name like "张_";
查找三个字的 select * from 表名 where name like "___";
查找名字中包含一的员工
- select * from 表名 where name like "%一%";