常见查询语句

常见查询语句条件查询 语法 select 查询列表 from 表名 where 筛选条件 分类 一 按条件表达式筛选简单条件运算符 二 按逻辑表达式筛选逻辑运算符 作用 用于连接条件表达式 amp amp andorno

大家好,欢迎来到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

(0)
上一篇 2025-06-18 16:20
下一篇 2025-06-18 16:26

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信