#查询员工号为176的员工的姓名和部门号和年薪
USE myemployees;
SELECT
last_name,
`manager_id`,
`salary`*12*(1+IFNULL(`commission_pct`,0))
FROM
employees
WHERE
`employee_id`=176;
#查询employees表中,job_id不是it 或 工资为12000的员工
SELECT
last_name,job_id,salary
FROM
employees
WHERE
`salary`=12000 OR `job_id`='IT';
#查看部门`departments`表的结构,
DESC `departments`;
#进阶3、排序查询
/*
按工资高低等
select 查询列表
from 表
{where 筛选条件}
order by 排序列表 {ascldesc}
*/
#工资高低排序
/ / DESC 高到低降序 / / ASC 低到高升序 / / 默认升序
SELECT
*
FROM
employees
ORDER BY salary DESC ;
#查询部门编号》=90的员工信息,按入职时间排序
SELECT
*
FROM
employees
WHERE `department_id` >= 90
ORDER BY `hiredate` ASC ;
#按表达式排序
//按年薪的高低排序
SELECT
* ,
salary*12*(1+IFNULL(`commission_pct`,0)) AS 年薪
FROM
employees
ORDER BY
salary*12*(1+IFNULL(`commission_pct`,0)) ASC ;
#按别名排序
//按年薪的高低排序
SELECT
* ,
salary*12*(1+IFNULL(`commission_pct`,0)) AS 年薪
FROM
employees
ORDER BY
年薪 ASC ;
#按姓名长度排序//length(last_name) as 长度
SELECT
LENGTH(last_name) AS 长度,
last_name,
salary
FROM
employees
ORDER BY
长度 ASC;
#先按工资排序 再按员工编号排序(多个条件排序)
SELECT
last_name,
employee_id,
salary
FROM
employees
ORDER BY
salary ASC , employee_id DESC;
#进阶4、常见函数
/*
单行函数
concat、ifnull、length、
分行函数(聚合/组/统计函数)
*/
/*一、字符函数
length 获取参数值的字节个数
select length('zhang张');
concat 拼接字符
upper();大写
lower();小写
select concat(upper(last_name),'+',lower(first_name)) from employees;
substr或substring//截取部分字符
mysql位置从1开始
SELECT SUBSTR('李莫愁爱上了陆展远',7);//截取第7个后面
SELECT SUBSTR('李莫愁爱上了陆展远',1,3);//截取第1个后面3个
instr返回字串在主串中的字符索引
SELECT INSTR('abcdefh','bcd');找不到返回0;
trim去前后空格
SELECT LENGTH(TRIM(' zhang ')) AS 'length';
去先后a
SELECT TRIM('a' FROM 'aaaa 张三丰aaba ba')
lpad 左填充字符使其一共N个字符,超出则截断
SELECT LPAD ('zhang',10,'*')
replace替换//把‘+’全部替换成‘!’
SELECT REPLACE('zhang+++akjdhkasjd','+','!')
*/
/*二、数学函数
round 四舍五入
select round(1.55);
select round(1.5678,2);//保留两位小数
ceil 向上取整,返回>=该参数的最小整数
select round(1.55);
floor 向下取整,返回<=该参数的最大整数
truncate截断
select truncate(1.5678,2);
mod取余%
*/
/*三、日期函数
*/