sql语句练习,oracle与mysql不同
sql语句,oracle与mysql不同
两表联查练习
– 查询财务部女员工的信息
SELECT*
FROMt_emp e
LEFT JOIN t_dept d ON e.dept_id = d.dept_id
WHEREd.dept_name = '财务部'
AND e.emp_sex = 0
– 查询财务部工资大于2000的男员工的信息
SELECT*
FROMt_emp e
LEFT JOIN t_dept d ON e.dept_id = d.dept_id
WHEREd.dept_name = '财务部'
AND e.emp_sex = 1
AND e.emp_wage > 2000
order by的用法
– 查询所有员工的姓名、工资、部门名称,并以工资倒序排列
SELECTe.emp_name,e.emp_wage,d.dept_name
FROMt_emp e
LEFT JOIN t_dept d ON e.dept_id = d.dept_id
ORDER BYe.emp_wage DESC
– 查出工资大于5000的员工id、员工姓名、部门名称、工资
SELECTe.emp_id,e.emp_name,e.emp_wage,d.dept_name
FROMt_emp e
LEFT JOIN t_dept d ON e.dept_id = d.dept_id
WHEREe.emp_wage > 5000
– 查询年龄大于20的李姓男员工的员工姓名、部门名称
SELECTe.emp_name,d.dept_name
FROMt_emp e
LEFT JOIN t_dept d ON e.dept_id = d.dept_id
WHEREe.emp_age > 20
AND e.emp_sex = 1
AND e.emp_name LIKE '李%'
聚合函数max的用法
– 查询工资大于男员工最大工资的女员工的员工id、员工姓名、部门名称
SELECTe.emp_id,e.emp_name,d.dept_name
FROMt_emp e
LEFT JOIN t_dept d ON e.dept_id = d.dept_id
WHEREe.emp_wage > (SELECTmax(emp_wage)FROMt_empWHEREemp_sex = 1)
AND e.emp_sex = 0
group by的用法
– 查询至少有三个员工的部门名称
select
d.dept_name
FROMt_emp e
LEFT JOIN t_dept d ON e.dept_id = d.dept_id
GROUP BY e.dept_id having count(e.emp_id)>=3
聚合函数与group by共同使用语法:group by后边不能跟where语句,只能用having
– 查询最大工资大于5000的部门名称
SELECTd.dept_name
FROMt_emp e
LEFT JOIN t_dept d ON e.dept_id = d.dept_id
GROUP BY e.dept_id HAVING MAX(e.emp_wage) > 5000
– 查询工资最高的张姓女员工的员工id和部门名称
SELECTe.emp_id,d.dept_name
FROMt_emp e
LEFT JOIN t_dept d ON e.dept_id = d.dept_id
WHEREe.emp_wage = (SELECTmax(emp_wage)FROMt_empWHEREemp_name LIKE '张%' and emp_sex = 0)
AND emp_name LIKE '张%' and emp_sex = 0
**
分页:oracle与mysql的区别
**
– 分页查询员工表的信息,假设每页展示5条,查询第3页的数据
– oracle
SELECT*
FROM(SELECTrownum r,e.*FROM(SELECT * FROM t_emp) eWHERErownum <= 3 * 5)
WHEREr > (3 - 1) * 5
– mysql
– mysql识别不了后边进行运算,需要计算好了在拿出来
select * from t_emp LIMIT 4 , 2;
//错误的
select * from t_emp LIMIT (3-1)*2 , 2;
select * from t_emp limit (3-1)*5 , 5 ;
– 将财务部工资大于2000的员工的工资在原有基础上减100
UPDATE t_emp
SET emp_wage = emp_wage + 100
WHEREemp_wage > 2000
AND dept_id = (SELECTdept_idFROMt_deptWHEREdept_name = '财务部'
)
– 将财务部年龄最大的员工的工资改为20000
– oracle
UPDATE t_emp
SET emp_wage = 20000
WHEREemp_age = (SELECTmax(emp_age)FROMt_empWHEREdept_id = (SELECTdept_idFROMt_deptWHEREdept_name = '财务部'))
– mysql,对于一些语句执行不了,会报错,就比如这个,它识别不了oracle这种,必须也要把后边的条件当作一张表才可以继续执行
UPDATE t_emp
SET emp_wage = 20000
WHEREemp_age = (SELECT*FROM(SELECTmax(emp_age)FROMt_empWHEREdept_id = (SELECTdept_idFROMt_deptWHEREdept_name = '财务部')) AS emp)
– 删除员工表的重复信息,认为姓名和部门一样是重复的
– oracle
DELETE
FROMt_emp
WHEREemp_id NOT IN (SELECTemp_idFROMt_empGROUP BYemp_name,dept_id);
– mysql
DELETE
FROMt_emp
WHEREemp_id NOT IN (SELECT*FROM(SELECTemp_idFROMt_empGROUP BYemp_name,dept_id) AS emp);
sql语句练习,oracle与mysql不同相关推荐
- sql语句练习50题(Mysql版-详加注释)
表名和字段 1.学生表 Student(s_id,s_name,s_birth,s_sex) --学生编号,学生姓名, 出生年月,学生性别 2.课程表 Course(c_id, ...
- C#连接4种类型数据库(Access、SQL Server、Oracle、MySQL)
C#连接4种类型数据库(Access.SQL Server.Oracle.MySQL) 1.C#连接连接Access using System.Data; using System.Data.OleD ...
- SQL Server 和 Oracle 以及 MySQL 的区别
SQL Server 和 Oracle 以及 MySQL 的区别 历史说明区别 > Oracle: 中文译作甲骨文,成立于1977年,早期的理论基础,反而来自于一篇IBM的论文<A Rel ...
- mysql怎么刷题_面试刷题mysql1:一条sql语句是如何经过mysql的体系结构的?
{port} -u${user} -p ,输入密码. 使用连接器连接服务端: 连接成功之后,权限修改不会影响当前连接,连接的有效期默认是8个小时: 连接之后,执行过程中使用内存会持续增加,应该定时重置 ...
- oracle某用户历史sql语句,查看oracle 用户执行的sql语句历史记录
select * from v$sqlarea t where t.PARSING_SCHEMA_NAME in ('用户名') order by t.LAST_ACTIVE_TIME desc se ...
- MySQL学习-SQL语句的分类与MySQL简单查询
1.SQL语句的分类 学习MySQL主要还是学习通用的SQL语句,那么SQL语句包括增删改查,SQL语句怎么分类呢? DQL(数据查询语言): 查询语句,凡是select语句都是DQL. DM ...
- SQL语句在dos操作MySQL数据库
#关键字# #create # #show # #use # #alter table # #add # #frist # #after # #rename ##表的更名# #change # #mo ...
- mysql oracle sql区别吗_mysql数据库的SQL语句和oracle的有什么区别?详细点
匿名用户 1级 2017-08-20 回答 区别如下: 1. Oracle是大型数据库而Mysql是中小型数据库,Oracle市场占有率达40%,Mysql只有20%左右,同时Mysql是开源的而Or ...
- 软件测试mysql常用语句_测试中常用到的SQL语句(Oracle)
在测试过程中,可能会进入到数据库中检查数据. 下面列举一些经常用到的SQL语句. (1)删除记录(delete与truncate) 语法:delete from 表名 where 条件 trunca ...
- MySQL查看SQL语句执行效率和mysql几种性能测试的工具
Explain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通过此命令来简单的解决,Explain可以用来查看 SQL 语句的执行效 果,可以帮助选择更好的索引和优化查询语句,写出更好 ...
最新文章
- Hyper-v3.0里无法压缩虚拟硬盘!虚拟机为Linux,硬盘为VHDX
- Python-读写文件
- 读书笔记《单核工作法》1
- LiveVideoStackCon 2019北京开幕 成为多媒体技术生态风向标
- Apache Camel 2.18 –即将推出的功能的亮点
- spark sql合并小文件_Spark SQL小文件问题在OPPO的解决方案
- html瀑布流下拉刷新,瀑布流下拉刷新 - osc_1wnye1so的个人空间 - OSCHINA - 中文开源技术交流社区...
- ACM-Maximum Tape Utilization Ratio
- jQuery事件命名空间多事件绑定自定义事件js 命名空间 javascript命名空间
- 比较重要的物料管理交易代码列表
- Linux 常用系统工具与初始化配置
- amesim子模型_Amesim制动卡钳仿真--制动液子模型
- react-native <0.69 Exceptions.h:5:10: fatal error: ‘fbjni/fbjni.h‘ file not found
- Anaconda安装报错(Failed to create Anaconda menus)
- OLED显示字符的大小与PCtoLCD2002生成字模
- 2033-人见人爱A+B(java)
- 计蒜之道 测试赛 (BCD)
- 欧菲光净利暴跌,提醒了中国制造,原来苹果如此重要
- Python用turtle画爱心丘比特之剑
- 【逆向工程】x64dbg逆向扫雷及QT编写游戏辅助
热门文章
- CSS基本知识点——带你走进CSS的新世界
- Nginx下载安装以及简单使用
- 如何用计算机模拟物理现象,浅谈计算机模拟物理实验教学
- 软件开发之数据结构和算法
- Dyson Sphere Program 戴森球计划 个人心得
- 微信小程序---收藏/取消收藏(点改)
- DoTa、LOL类游戏转移视角及角色移动
- 问卷星自动提交-js脚本测试
- iphone快捷指令蚂蚁森林能量_iOS逆向-手把手教你写支付宝蚂蚁森林收集能量助手...
- 能升级鸿蒙系统最便宜手机,这4部手机可升级至华为鸿蒙系统 网友:终于等到了...