大家好,欢迎来到IT知识分享网。
条件查询
/*
简单条件运算符:> < = != <> >= <= 二、按逻辑表达式筛选 逻辑运算符: 作用:用于连接条件表达式 && || ! and or not &&和and:两个条件都为true,结果为true,反之为false ||或or: 只要有一个条件为true,结果为true,反之为false !或not: 如果连接的条件本身为false,结果为true,反之为false 三、模糊查询 like between and in is null
#案例1:查询工资>12000的员工信息
#二、按逻辑表达式筛选
/
#1.like
/
特点:
①一般和通配符搭配使用
通配符:
% 任意多个字符,包含0个字符
_ 任意单个字符
*、
#案例1:查询员工名中包含字符a的员工信息
#案例3:查询员工名中第二个字符为_的员工名
*/
#案例1:查询员工编号在100到120之间的员工信息
#——————
*/
#安全等于 <=>
#is null pk <=>
#2. 查询员工号,姓名,工资,以及工资提高百分之20%后的结果(new salary)
分组查询
#1.查询各job_id的员工工资的最大值,最小值,平均值,总和,并按job_id升序
排序查询
#1.查询员工的姓名和部门号和年薪,按年薪降序 按姓名升序
SELECT last_name,department_id,salary12(1+IFNULL(commission_pct,0)) 年薪
FROM employees
ORDER BY 年薪 DESC,last_name ASC;
#3.查询邮箱中包含e的员工信息,并先按邮箱的字节数降序,再按部门号升序
分组查询
语法:
分组后筛选 group by后的结果集 group by后 having
问题2:where——group by——having
一般来讲,能用分组前筛选的,尽量使用分组前筛选,提高效率
#1.查询公司员工工资的最大值,最小值,平均值,总和
SELECT DATEDIFF(‘1995-2-7’,‘1995-2-6’);
#3.查询部门编号为90的员工个数
SELECT COUNT(*) FROM employees WHERE department_id = 90;
#引入:查询每个部门的员工个数
#案例2:查询每个位置的部门个数
#2、可以实现分组前的筛选
#案例1:查询邮箱中包含a字符的 每个部门的最高工资
#案例2:查询有奖金的每个领导手下员工的平均工资
#3、分组后筛选
#案例:查询哪个部门的员工个数>5
#② 筛选刚才①结果
GROUP BY department_id
HAVING COUNT(*)>5;
#案例2:每个工种有奖金的员工的最高工资>12000的工种编号和最高工资
#案例3:领导编号>102的每个领导手下的最低工资大于5000的领导编号和最低工资
manager_id>102
#4.添加排序
#案例:每个工种有奖金的员工的最高工资>6000的工种编号和最高工资,按最高工资升序
#5.按多个字段分组
#案例:查询每个工种每个部门的最低工资,并按最低工资降序
常见函数
#进阶4:常见函数
/*
功能:做统计使用,又称为统计函数、聚合函数、组函数
数学函数: round ceil floor truncate mod 日期函数: now curdate curtime year month monthname day hour minute second str_to_date date_format 其他函数: version database user 控制函数 if case
*/
#一、字符函数
SHOW VARIABLES LIKE ‘%char%’
#2.concat 拼接字符串
SELECT CONCAT(last_name,’_’,first_name) 姓名 FROM employees;
#案例:姓名中首字符大写,其他字符小写然后用_拼接,显示出来
#5.instr 返回子串第一次出现的索引,如果找不到返回0
SELECT INSTR(‘杨不殷六侠悔爱上了殷六侠’,‘殷八侠’) AS out_put;
#6.trim
SELECT LENGTH(TRIM(’ 张翠山 ‘)) AS out_put;
SELECT TRIM(‘aa’ FROM ‘aaaaaaaaa张aaaaaaaaaaaa翠山aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa’) AS out_put;
#7.lpad 用指定的字符实现左填充指定长度
SELECT LPAD(‘殷素素’,2,’*’) AS out_put;
#8.rpad 用指定的字符实现右填充指定长度
SELECT RPAD(‘殷素素’,12,‘ab’) AS out_put;
#9.replace 替换
SELECT REPLACE(‘周芷若周芷若周芷若周芷若张无忌爱上了周芷若’,‘周芷若’,‘赵敏’) AS out_put;
#二、数学函数
#ceil 向上取整,返回>=该参数的最小整数
SELECT CEIL(-1.02);
#truncate 截断
SELECT TRUNCATE(1.69999,1);
#三、日期函数
SELECT YEAR(hiredate) 年 FROM employees;
#str_to_date 将字符通过指定的格式转换成日期
SELECT STR_TO_DATE(‘1998-3-2’,’%Y-%c-%d’) AS out_put;
SELECT * FROM employees WHERE hiredate = STR_TO_DATE(‘4-3 1992’,’%c-%d %Y’);
#date_format 将日期转换成字符
SELECT DATE_FORMAT(NOW(),’%y年%m月%d日’) AS out_put;
#四、其他函数
SELECT IF(10<5,‘大’,‘小’);
#2.case函数的使用一: switch case 的效果
}
mysql中
/*案例:查询员工的工资,要求
*/
mysql中:
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/137707.html