MySQL(6)内置函数,复合查询.

发布于:2024-07-18 ⋅ 阅读:(133) ⋅ 点赞:(0)

目录

                1.内置函数;

                2.复合查询;

                


1.内置函数:

1.1 日期函数:

时分秒:

时间戳:

基本日期上加日期:

基本日期减去日期:

日期相差天数:

🌰 创建一张表,记录生日:

创建一个留言表:

显示所有留言信息,发布日期只显示日期,不用显示时间:

 1.2 字符串函数:

🌰获取emp表的ename列的字符集:

要求显示exam_result表中的信息,显示格式:“XXX的语文是XXX分,数学XXX分,英语XXX分”:

select concat(name, '的语文是',chinese,'分,数学是',math,'分') as '分数' from student;

求学生表中学生姓名占用的字节数:

将EMP表中所有名字中有S的替换成'上海':

截取EMP表中ename字段的第二个到第三个字符:

以首字母小写的方式显示所有员工的姓名:

1.3 数学函数:

🌰示例:

1.4 其他函数:

 

⭐md5是对字符串进行加密, password是对用户进行加密.

 2.复合查询:

2.1例子:

1.查询工资高于500或岗位为MANAGER的雇员,同时还要满足他们的姓名首字母为大写的J:

2. 按照部门号升序而雇员的工资降序排序

3. 使用年薪进行降序排序:

4.显示工资最高的员工的名字和工作岗位:

5.显示工资高于平均工资的员工信息

6. 显示每个部门的平均工资和最高工资:

7.显示平均工资低于2000的部门号和它的平均工资:

8. 显示每种岗位的雇员总数,平均工资:

 2.2 多表查询:

笛卡儿积: 将数据进行穷举组合. 但是一般还要对数据进行筛选.

🌰显示部门号为10的部门名,员工名和工资:

显示各个员工的姓名,工资,及工资级别:

 2.3 自连接:

概念: 同一张表连接查询;

🌰显示员工FORD的上级领导的编号和姓名(mgr是员工领导的编号--empno)

(1) 子查询:

(2) 自查询:

 2.4 子查询:

 嵌套查询: 嵌入在其他sql语句中的select语句;

(1) 单行子查询:

显示SMITH同一部门的员工:

(2)多行子查询:

a. in

查询和10号部门的工作岗位相同的雇员的名字,岗位,工资,部门号,但是不包含10自己的

b. all:

显示工资比部门30的所有员工的工资高的员工的姓名、工资和部门号:

c. any:

显示工资比部门30的任意员工的工资高的员工的姓名、工资和部门号(包含自己部门 的员工):

2.5 多列子查询:

🌰: 查询和SMITH的部门和岗位完全相同的所有雇员,不含SMITH本人

显示每个高于自己部门平均工资的员工的姓名、部门、工资、平均工资:

查找每个部门工资最高的人的姓名、工资、部门、最高工资:

显示每个部门的信息(部门名,编号,地址)和人员数量:

2.6 合并查询:

关键字: union;取得两个结果的并集,并且包含去重.

将工资大于2500或职位是MANAGER的人找出来:

关键字: union all:取得两个结果的并集,并且不包含去重.