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不同相关推荐

  1. sql语句练习50题(Mysql版-详加注释)

    表名和字段 1.学生表       Student(s_id,s_name,s_birth,s_sex) --学生编号,学生姓名, 出生年月,学生性别 2.课程表       Course(c_id, ...

  2. C#连接4种类型数据库(Access、SQL Server、Oracle、MySQL)

    C#连接4种类型数据库(Access.SQL Server.Oracle.MySQL) 1.C#连接连接Access using System.Data; using System.Data.OleD ...

  3. SQL Server 和 Oracle 以及 MySQL 的区别

    SQL Server 和 Oracle 以及 MySQL 的区别 历史说明区别 > Oracle: 中文译作甲骨文,成立于1977年,早期的理论基础,反而来自于一篇IBM的论文<A Rel ...

  4. mysql怎么刷题_面试刷题mysql1:一条sql语句是如何经过mysql的体系结构的?

    {port} -u${user} -p ,输入密码. 使用连接器连接服务端: 连接成功之后,权限修改不会影响当前连接,连接的有效期默认是8个小时: 连接之后,执行过程中使用内存会持续增加,应该定时重置 ...

  5. oracle某用户历史sql语句,查看oracle 用户执行的sql语句历史记录

    select * from v$sqlarea t where t.PARSING_SCHEMA_NAME in ('用户名') order by t.LAST_ACTIVE_TIME desc se ...

  6. MySQL学习-SQL语句的分类与MySQL简单查询

    1.SQL语句的分类 学习MySQL主要还是学习通用的SQL语句,那么SQL语句包括增删改查,SQL语句怎么分类呢?   DQL(数据查询语言): 查询语句,凡是select语句都是DQL.   DM ...

  7. SQL语句在dos操作MySQL数据库

    #关键字# #create # #show # #use # #alter table # #add # #frist # #after # #rename ##表的更名# #change # #mo ...

  8. mysql oracle sql区别吗_mysql数据库的SQL语句和oracle的有什么区别?详细点

    匿名用户 1级 2017-08-20 回答 区别如下: 1. Oracle是大型数据库而Mysql是中小型数据库,Oracle市场占有率达40%,Mysql只有20%左右,同时Mysql是开源的而Or ...

  9. 软件测试mysql常用语句_测试中常用到的SQL语句(Oracle)

    在测试过程中,可能会进入到数据库中检查数据. 下面列举一些经常用到的SQL语句. (1)删除记录(delete与truncate) 语法:delete from  表名 where 条件 trunca ...

  10. MySQL查看SQL语句执行效率和mysql几种性能测试的工具

    Explain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通过此命令来简单的解决,Explain可以用来查看 SQL 语句的执行效 果,可以帮助选择更好的索引和优化查询语句,写出更好 ...

最新文章

  1. Hyper-v3.0里无法压缩虚拟硬盘!虚拟机为Linux,硬盘为VHDX
  2. Python-读写文件
  3. 读书笔记《单核工作法》1
  4. LiveVideoStackCon 2019北京开幕 成为多媒体技术生态风向标
  5. Apache Camel 2.18 –即将推出的功能的亮点
  6. spark sql合并小文件_Spark SQL小文件问题在OPPO的解决方案
  7. html瀑布流下拉刷新,瀑布流下拉刷新 - osc_1wnye1so的个人空间 - OSCHINA - 中文开源技术交流社区...
  8. ACM-Maximum Tape Utilization Ratio
  9. jQuery事件命名空间多事件绑定自定义事件js 命名空间 javascript命名空间
  10. 比较重要的物料管理交易代码列表
  11. Linux 常用系统工具与初始化配置
  12. amesim子模型_Amesim制动卡钳仿真--制动液子模型
  13. react-native <0.69 Exceptions.h:5:10: fatal error: ‘fbjni/fbjni.h‘ file not found
  14. Anaconda安装报错(Failed to create Anaconda menus)
  15. OLED显示字符的大小与PCtoLCD2002生成字模
  16. 2033-人见人爱A+B(java)
  17. 计蒜之道 测试赛 (BCD)
  18. 欧菲光净利暴跌,提醒了中国制造,原来苹果如此重要
  19. Python用turtle画爱心丘比特之剑
  20. 【逆向工程】x64dbg逆向扫雷及QT编写游戏辅助

热门文章

  1. CSS基本知识点——带你走进CSS的新世界
  2. Nginx下载安装以及简单使用
  3. 如何用计算机模拟物理现象,浅谈计算机模拟物理实验教学
  4. 软件开发之数据结构和算法
  5. Dyson Sphere Program 戴森球计划 个人心得
  6. 微信小程序---收藏/取消收藏(点改)
  7. DoTa、LOL类游戏转移视角及角色移动
  8. 问卷星自动提交-js脚本测试
  9. iphone快捷指令蚂蚁森林能量_iOS逆向-手把手教你写支付宝蚂蚁森林收集能量助手...
  10. 能升级鸿蒙系统最便宜手机,这4部手机可升级至华为鸿蒙系统 网友:终于等到了...