目录
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:取得两个结果的并集,并且不包含去重.