Oracle学习笔记:基础查询与MySQL对比
需积分: 1 5 浏览量
更新于2024-07-19
收藏 636KB DOCX 举报
"Oracle学习笔记,涉及基本操作、查询语法、SQL优化原则以及处理NULL的方法。"
在Oracle数据库的学习过程中,第一天通常会涵盖基础的操作和查询语法。首先,我们需要确保已经安装了Oracle数据库,并且能够通过管理员权限的CMD窗口连接到数据库,如在本例中,数据库名为orcl,其默认监听端口是1521,这与MySQL的默认端口3306不同。
在Oracle中,我们可以执行一些基本查询来了解当前环境。例如,查询当前用户、查看数据库中的表、清屏(在Windows中使用`host cls`或在Linux中使用`host clear`)。要查看表结构,可以使用`desc 表名`命令,如`desc emp`来获取EMP表的列信息。基本的查询包括选择所有列(`SELECT * FROM emp`)、选择特定列(`SELECT ename FROM emp`)以及给列取别名,例如`SELECT ename AS "姓名", sal AS "工资" FROM emp`。这里要注意,Oracle中别名使用双引号,而单引号用于字符和日期。
在查询中处理重复数据时,可以使用`DISTINCT`关键字,如`SELECT DISTINCT deptno FROM emp`。对于NULL值,Oracle提供了`NVL()`函数,将NULL转换为指定值,如`NVL(comm, 0)`。此外,字符串连接在Oracle中通过`||`操作符完成,不同于MySQL中的`CONCAT()`函数。例如,`SELECT ename || '的薪水是' || sal AS 信息 FROM emp`会显示员工姓名和薪水的组合信息。
对于SQL的优化,建议遵循一些基本原则,如尽量使用列名而非*进行查询,遵循WHERE子句的解析顺序,优先考虑多表查询而非子查询,并避免不必要的集合运算。处理NULL问题时,需要注意NULL的特殊性,如`NULL != NULL`且不能直接用`IN()`或`NOT IN()`与NULL比较,此时应使用`IS NULL`或`IS NOT NULL`。在分组函数中,NULL会被自动忽略,可以使用`NVL()`结合分组函数处理这种情况,如`SELECT AVG(NVL(comm, 0)) FROM emp`。
Oracle学习的第一天主要涵盖了数据库连接、基本查询语法、NULL处理和SQL优化的一些基本概念,为后续深入学习打下基础。
2024-11-29 上传
2024-11-29 上传
2024-11-29 上传
2024-11-29 上传
2024-11-29 上传
2024-11-29 上传
zxDD敲代码
- 粉丝: 1214
- 资源: 94
最新资源
- Fall2019-bcc:Fall2019-bcc由GitHub Classroom创建
- DerbyCon_WarWalking:使用Hak5的WiFi Pineapple在DerbyCon上进行战争行走。 PineAP-收获SSID。 它只是在扫描信标,而没有用户连接
- NETcs.zip_.net编程_Visual_C++_
- geobricks_rest_engine:Geobricks REST引擎
- HTML网站源码-现代工业机器响应式网页模板-适配移动端&PC端.zip
- 易语言超级列表框子类化源码-易语言
- 131套PPT模板.zip,131套PPT模板.zip,131套PPT模板.zip
- 韩国8屏BANNER样式焦点图效果代码.zip
- docker-clamav:与文件共享容器,REST API或TCP一起使用的多体系结构docker化开源防病毒软件
- shipinfenxitu_对信号进行时频分析_
- monaco-html:摩纳哥编辑器HTML语言插件
- 基于CSS3实现翻转切换用户登录注册界面特效源码.zip
- keylogger_hook_exe_dll.zip_钩子与API截获_Visual_C++_
- 汇编语言调用库 - 配套Assembly Language for X86 Processors
- HTML网站源码-在线房产交易信息响应式网页模板-适配移动端&PC端.zip
- 易语言取鼠标句柄源码-易语言