02查询语法
Mysql2
查询
基础查询语法:
select
查询列表
from
表名
条件查询语法:
select
查询列表
from
表名
where
筛选条件;
分类:
一、按条件表达式筛选
条件运算符:> < = <> >= <=
二、按逻辑表达式筛选
逻辑运算符:(用于连接条件表达式)
&& || !
and or not
三、模糊查询
like、between and、in 、is null
一、按条件表达式筛选
案例一:查询员工工资>12000的员工信息
SELECT
*
FROM
employees
WHERE
salary>12000;
案例二:查询部门编号不等于90号的员工名和部门编号
SELECT
last_name,
department_id
FROM
employees
WHERE
department_id<>90;
二、按逻辑表达式筛选
案例一:查询工资在10000到20000之间的员工名、工资以及奖金
SELECT
last_name,
salary,
commission_pct
FROM
employees
WHERE
salary>=10000 && salary<=20000;
案例二:查询部门编号不是在90到110之间,或工资高于15000的员工信息
SElECT
*
FROM
employees
WHERE
NOT(department_id<90 && department_id>110 ) || salary>15000;
三、模糊查询
1。like (特点:一般和通配符搭配使用)
通配符
%:包含任意多个字符(包含零个字符)
_:包含任意单个字符
案例一:查询员工名中包含字符a的员工信息
SELECT
*
FROM
employees
WHERE
last_name like '%a%';//%为通配符表示还有其他字符
案例二:查询员工名中第三个字符为e,第五个字符为a的员工名和工资
SELECT
last_name,
salary
FROM
employees
WHERE
last_name like '__e_a%';
案例三:查询员工名中第二个字符为_的员工名
SELECT last_nameFROM employeesWHERE last_name like'_\_%';
2.between and
案例一:查询员工编号在100到120之间的员工信息
SELECT *FROM employeesWHERE employee_id between 100 and 120;
3.in
含义:用于去判断某字段的值是否属于in列表中的某一项
特点:使用in提高语句简洁度
in列表的值类型必须一致或兼容
案例一:查询员工的工种编号是 IT_PROG,AD_VP,AD_PRES中的一个员工名和工种编号
SELECT last_name, job_idFROM employeesWHERE job_id IN('IT_PROG','AD_VP','AD_PRES');
4.is null
is null 或 is not null 可以判断null值
案例一:查询没有奖金的员工名和奖金率
SELECT last_name, commission_pct FROM employeesWHERE commission_pct IS NULL;
+号
mysql中 “+” 号仅一个功能:运算符
select 100+90; 两个操作数都为数值型,则做加法运算select '123'+90;其中一方为字符型,试图将字符型数值转换为数值型: 1·如果转换成功,则继续做加法运算 2·如果转换失败,则将字符型数值转换为0select 'john'+90;//90select null+10; 只要其中一方为null,则结果肯定为null
拼接
用concat函数
SELECT CONCAT('A','B','C')AS 结果;//拼接数据中加逗号SELECT CONCAt('a',',',b,',','c');
null和任何的数据字段拼接结构都为null
IFNULL(某数据,0);//当该数据为null时将输出为0;
DESC显示表中的结构
DESC 表名;
显示出表中某数据的全部(不能重复)
SELECT DISTINCT ID FROM 某表;
显示出表employees的全部列,各个列之间用逗号连接,列头显示成out_put
SELECT CONCAT() AS out_putFROM employees;
浙公网安备 33010602011771号