学习oracle 入门第一课后的笔记记录
2019独角兽企业重金招聘Python工程师标准>>>
课程:javaEE\【阶段05】Oracle\day25-Oracle1\上午\笔记
# --清屏
SQL> host cls
#--当前用户
SQL> show user
USER 为 "SCOTT"
#--当前用户的表
##查询表tab中所有的列并显示出来
SQL> select * from tab;TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
DEPT TABLE
EMP TABLE
BONUS TABLE
SALGRADE TABLE #--员工表的结构
SQL> desc emp名称 是否为空? 类型----------------------------------------- -------- ----------------------------EMPNO NOT NULL NUMBER(4)ENAME VARCHAR2(10)JOB VARCHAR2(9)MGR NUMBER(4)HIREDATE DATESAL NUMBER(7,2)COMM NUMBER(7,2)DEPTNO NUMBER(2)#--查询所有的员工信息
SQL> select * from emp;EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- -------------- ---------- ---------- DEPTNO
---------- 7369 SMITH CLERK 7902 17-12月-80 800 20 7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30 7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30 EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- -------------- ---------- ---------- DEPTNO
---------- 7566 JONES MANAGER 7839 02-4月 -81 2975 20 7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30 7698 BLAKE MANAGER 7839 01-5月 -81 2850 30 EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- -------------- ---------- ---------- DEPTNO
---------- 7782 CLARK MANAGER 7839 09-6月 -81 2450 10 7788 SCOTT ANALYST 7566 19-4月 -87 3000 20 7839 KING PRESIDENT 17-11月-81 5000 10 EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- -------------- ---------- ---------- DEPTNO
---------- 7844 TURNER SALESMAN 7698 08-9月 -81 1500 0 30 7876 ADAMS CLERK 7788 23-5月 -87 1100 20 7900 JAMES CLERK 7698 03-12月-81 950 30 EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- -------------- ---------- ---------- DEPTNO
---------- 7902 FORD ANALYST 7566 03-12月-81 3000 20 7934 MILLER CLERK 7782 23-1月 -82 1300 10 已选择 14 行。
#因显示比较乱,可设置行宽,列宽来显示完整
#--设置行宽
SQL> show linesize
linesize 80
SQL> set linesize 150
#--设置列宽
SQL> col ename format a8
SQL> col sal for 9999
SQL> /EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- -------- --------- ---------- -------------- ----- ---------- ---------- 7369 SMITH CLERK 7902 17-12月-80 800 20 7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30 7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30 7566 JONES MANAGER 7839 02-4月 -81 2975 20 7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30 7698 BLAKE MANAGER 7839 01-5月 -81 2850 30 7782 CLARK MANAGER 7839 09-6月 -81 2450 10 7788 SCOTT ANALYST 7566 19-4月 -87 3000 20 7839 KING PRESIDENT 17-11月-81 5000 10 7844 TURNER SALESMAN 7698 08-9月 -81 1500 0 30 7876 ADAMS CLERK 7788 23-5月 -87 1100 20 EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- -------- --------- ---------- -------------- ----- ---------- ---------- 7900 JAMES CLERK 7698 03-12月-81 950 30 7902 FORD ANALYST 7566 03-12月-81 3000 20 7934 MILLER CLERK 7782 23-1月 -82 1300 10 已选择 14 行。#--通过列名查询
#查询emp表中这些列的数据(empno,ename,job,mgr,hiredate,sal,comm,deptno)
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp;EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- -------- --------- ---------- -------------- ----- ---------- ---------- 7369 SMITH CLERK 7902 17-12月-80 800 20 7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30 7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30 7566 JONES MANAGER 7839 02-4月 -81 2975 20 7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30 7698 BLAKE MANAGER 7839 01-5月 -81 2850 30 7782 CLARK MANAGER 7839 09-6月 -81 2450 10 7788 SCOTT ANALYST 7566 19-4月 -87 3000 20 7839 KING PRESIDENT 17-11月-81 5000 10 7844 TURNER SALESMAN 7698 08-9月 -81 1500 0 30 7876 ADAMS CLERK 7788 23-5月 -87 1100 20 EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- -------- --------- ---------- -------------- ----- ---------- ---------- 7900 JAMES CLERK 7698 03-12月-81 950 30 7902 FORD ANALYST 7566 03-12月-81 3000 20 7934 MILLER CLERK 7782 23-1月 -82 1300 10 已选择 14 行。
#在SQL中注释
SQL> /*
SQL> SQL优化的原则:
SQL> 1.尽量使用列名
SQL> */
SQL> host cls#--查询员工信息:员工号 姓名 月薪
SQL> select empno,ename,sal2 form emp;
form emp*
第 2 行出现错误:
ORA-00923: 未找到要求的 FROM 关键字 SQL> --c命令 change
SQL> 22* form emp
SQL> c /form/from2* from emp
SQL> /EMPNO ENAME SAL
---------- -------- ----- 7369 SMITH 800 7499 ALLEN 1600 7521 WARD 1250 7566 JONES 2975 7654 MARTIN 1250 7698 BLAKE 2850 7782 CLARK 2450 7788 SCOTT 3000 7839 KING 5000 7844 TURNER 1500 7876 ADAMS 1100 EMPNO ENAME SAL
---------- -------- ----- 7900 JAMES 950 7902 FORD 3000 7934 MILLER 1300 已选择 14 行。# --查询员工信息:员工号 姓名 月薪 年薪
##查询emp 表中(empno,ename,sal,)列,并计算列sal*12 的结果显示一列
SQL> select empno,ename,sal,sal*12 from emp;EMPNO ENAME SAL SAL*12
---------- -------- ----- ---------- 7369 SMITH 800 9600 7499 ALLEN 1600 19200 7521 WARD 1250 15000 7566 JONES 2975 35700 7654 MARTIN 1250 15000 7698 BLAKE 2850 34200 7782 CLARK 2450 29400 7788 SCOTT 3000 36000 7839 KING 5000 60000 7844 TURNER 1500 18000 7876 ADAMS 1100 13200 EMPNO ENAME SAL SAL*12
---------- -------- ----- ---------- 7900 JAMES 950 11400 7902 FORD 3000 36000 7934 MILLER 1300 15600 已选择 14 行。#--查询员工信息:员工号 姓名 月薪 年薪 奖金 年收入
##查询emp表中这些列的数据(empno,ename,sal,),并计算列sal*12,comm,sal*12+comm 并显示出来
SQL> select empno,ename,sal,sal*12,comm,sal*12+comm from emp;EMPNO ENAME SAL SAL*12 COMM SAL*12+COMM
---------- -------- ----- ---------- ---------- ----------- 7369 SMITH 800 9600 7499 ALLEN 1600 19200 300 19500 7521 WARD 1250 15000 500 15500 7566 JONES 2975 35700 7654 MARTIN 1250 15000 1400 16400 7698 BLAKE 2850 34200 7782 CLARK 2450 29400 7788 SCOTT 3000 36000 7839 KING 5000 60000 7844 TURNER 1500 18000 0 18000 7876 ADAMS 1100 13200 EMPNO ENAME SAL SAL*12 COMM SAL*12+COMM
---------- -------- ----- ---------- ---------- ----------- 7900 JAMES 950 11400 7902 FORD 3000 36000 7934 MILLER 1300 15600 已选择 14 行。# /*
# SQL中的null值:
# 1. 包含null的表达式都为null
# 2. null永远!=null
# *、
# */
##查询emp表中这些列的数据(empno,ename,sal,),并计算列sal*12,comm,sal*12+comm 并显示出来,其中sal*12+nvl(comm,0),表示查找comm 为null的以0代替
SQL> select empno,ename,sal,sal*12,comm,sal*12+nvl(comm,0)from emp;EMPNO ENAME SAL SAL*12 COMM SAL*12+NVL(COMM,0)
---------- -------- ----- ---------- ---------- ------------------ 7369 SMITH 800 9600 9600 7499 ALLEN 1600 19200 300 19500 7521 WARD 1250 15000 500 15500 7566 JONES 2975 35700 35700 7654 MARTIN 1250 15000 1400 16400 7698 BLAKE 2850 34200 34200 7782 CLARK 2450 29400 29400 7788 SCOTT 3000 36000 36000 7839 KING 5000 60000 60000 7844 TURNER 1500 18000 0 18000 7876 ADAMS 1100 13200 13200 EMPNO ENAME SAL SAL*12 COMM SAL*12+NVL(COMM,0)
---------- -------- ----- ---------- ---------- ------------------ 7900 JAMES 950 11400 11400 7902 FORD 3000 36000 36000 7934 MILLER 1300 15600 15600 已选择 14 行。# --2. null永远!=null
# --查询奖金为null的员工SQL> select * from emp where comm=null;#这个语法是错的未选定行
##查询emp表中所有的表,并且comm等于null的(comm is null;)
SQL> select * from emp where comm is null;EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- -------- --------- ---------- -------------- ----- ---------- ---------- 7369 SMITH CLERK 7902 17-12月-80 800 20 7566 JONES MANAGER 7839 02-4月 -81 2975 20 7698 BLAKE MANAGER 7839 01-5月 -81 2850 30 7782 CLARK MANAGER 7839 09-6月 -81 2450 10 7788 SCOTT ANALYST 7566 19-4月 -87 3000 20 7839 KING PRESIDENT 17-11月-81 5000 10 7876 ADAMS CLERK 7788 23-5月 -87 1100 20 7900 JAMES CLERK 7698 03-12月-81 950 30 7902 FORD ANALYST 7566 03-12月-81 3000 20 7934 MILLER CLERK 7782 23-1月 -82 1300 10 已选择 10 行。
#清屏
SQL> host clsSQL> select empno,ename,sal,sal*12,comm,sal*12+nvl(comm,0) from emp;EMPNO ENAME SAL SAL*12 COMM SAL*12+NVL(COMM,0)
---------- -------- ----- ---------- ---------- ------------------ 7369 SMITH 800 9600 9600 7499 ALLEN 1600 19200 300 19500 7521 WARD 1250 15000 500 15500 7566 JONES 2975 35700 35700 7654 MARTIN 1250 15000 1400 16400 7698 BLAKE 2850 34200 34200 7782 CLARK 2450 29400 29400 7788 SCOTT 3000 36000 36000 7839 KING 5000 60000 60000 7844 TURNER 1500 18000 0 18000 7876 ADAMS 1100 13200 13200 EMPNO ENAME SAL SAL*12 COMM SAL*12+NVL(COMM,0)
---------- -------- ----- ---------- ---------- ------------------ 7900 JAMES 950 11400 11400 7902 FORD 3000 36000 36000 7934 MILLER 1300 15600 15600 已选择 14 行。
#别名的规范
##别名1.可以as "别名"
##2. 可以直接 "别名"
##3.可以直接 别名
#注意别名中间有空格的一定要用双引号引起来
SQL> ed
已写入 file afiedt.buf1 select empno as "员工号",ename "姓名",sal 薪 水,sal*12,comm,sal*12+nvl(comm,0) from emp
SQL> /select empno as "员工号",ename "姓名",sal 薪 水,sal*12,comm,sal*12+nvl(comm,0)*
第 1 行出现错误:
ORA-00923: 未找到要求的 FROM 关键字 SQL> ed
已写入 file afiedt.buf
#注意别名中间有空格的一定要用双引号引起来1 select empno as "员工号",ename "姓名",sal "薪 水",sal*12,comm,sal*12+nvl(comm,0)2* from emp
SQL> /员工号 姓名 薪 水 SAL*12 COMM SAL*12+NVL(COMM,0)
---------- ---------- ---------- ---------- ---------- ------------------ 7369 SMITH 800 9600 9600 7499 ALLEN 1600 19200 300 19500 7521 WARD 1250 15000 500 15500 7566 JONES 2975 35700 35700 7654 MARTIN 1250 15000 1400 16400 7698 BLAKE 2850 34200 34200 7782 CLARK 2450 29400 29400 7788 SCOTT 3000 36000 36000 7839 KING 5000 60000 60000 7844 TURNER 1500 18000 0 18000 7876 ADAMS 1100 13200 13200 员工号 姓名 薪 水 SAL*12 COMM SAL*12+NVL(COMM,0)
---------- ---------- ---------- ---------- ---------- ------------------ 7900 JAMES 950 11400 11400 7902 FORD 3000 36000 36000 7934 MILLER 1300 15600 15600 已选择 14 行。
#清屏
SQL> host cls#--distinct 去掉重复记录
SQL> select deptno from emp;DEPTNO
---------- 20 30 30 20 30 30 10 20 10 30 20 DEPTNO
---------- 30 20 10 已选择 14 行。
#查询emp表中deptno的列 并去除重复的记录
SQL> select distinct deptno from emp;DEPTNO
---------- 30 20 10
#查询emp表中job的列
SQL> select job from emp;JOB
---------
CLERK
SALESMAN
SALESMAN
MANAGER
SALESMAN
MANAGER
MANAGER
ANALYST
PRESIDENT
SALESMAN
CLERK JOB
---------
CLERK
ANALYST
CLERK 已选择 14 行。
#查询emp表中job的列 并去除重复的记录
SQL> select distinct job from emp;JOB
---------
CLERK
SALESMAN
PRESIDENT
MANAGER
ANALYST SQL> select distinct deptno,job from emp;DEPTNO JOB
---------- --------- 20 CLERK 30 SALESMAN 20 MANAGER 30 CLERK 10 PRESIDENT 30 MANAGER 10 CLERK 10 MANAGER 20 ANALYST 已选择 9 行。# --distinct 作用于后面所有的列
SQL> host cls# --连接符 ||
# -- concat
##
SQL> select concat('Hello',' World') from emp;CONCAT('HELL
------------
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World CONCAT('HELL
------------
Hello World
Hello World
Hello World 已选择 14 行。SQL> select concat('Hello',' World') from dual;CONCAT('HELL
------------
Hello World SQL> select 3+2 from dual;3+2
---------- 5 SQL> select * from tab;TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
DEPT TABLE
EMP TABLE
BONUS TABLE
SALGRADE TABLE #--dual表:伪表
# --伪列
SQL> select 'Hello'||' World' 字符串 from dual;字符串
------------
Hello World #--查询员工信息:***的薪水是****
SQL> select ename||'的薪水是'||sal 信息 from emp;信息
----------------------------------------------------------
SMITH的薪水是800
ALLEN的薪水是1600
WARD的薪水是1250
JONES的薪水是2975
MARTIN的薪水是1250
BLAKE的薪水是2850
CLARK的薪水是2450
SCOTT的薪水是3000
KING的薪水是5000
TURNER的薪水是1500
ADAMS的薪水是1100 信息
----------------------------------------------------------
JAMES的薪水是950
FORD的薪水是3000
MILLER的薪水是1300 已选择 14 行。SQL> host cls# --字符串
SQL> select * from emp;EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- -------- --------- ---------- -------------- ----- ---------- ---------- 7369 SMITH CLERK 7902 17-12月-80 800 20 7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30 7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30 7566 JONES MANAGER 7839 02-4月 -81 2975 20 7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30 7698 BLAKE MANAGER 7839 01-5月 -81 2850 30 7782 CLARK MANAGER 7839 09-6月 -81 2450 10 7788 SCOTT ANALYST 7566 19-4月 -87 3000 20 7839 KING PRESIDENT 17-11月-81 5000 10 7844 TURNER SALESMAN 7698 08-9月 -81 1500 0 30 7876 ADAMS CLERK 7788 23-5月 -87 1100 20 EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- -------- --------- ---------- -------------- ----- ---------- ---------- 7900 JAMES CLERK 7698 03-12月-81 950 30 7902 FORD ANALYST 7566 03-12月-81 3000 20 7934 MILLER CLERK 7782 23-1月 -82 1300 10 已选择 14 行。SQL> spool off
转载于:https://my.oschina.net/ch66880/blog/1564049
学习oracle 入门第一课后的笔记记录相关推荐
- 重学《动手学深度学习》 —— 深度学习简介(第一章)笔记
深度学习简介 本章地址:https://tangshusen.me/Dive-into-DL-PyTorch/#/chapter01_DL-intro/deep-learning-intro 仅作为私 ...
- 强化学习基础(第一周)笔记和代码(RL-cousera)
K-摇臂赌博机 问题定义 K-摇臂赌博机有K个摇臂,赌徒在投入一个硬币后可选择按下其中一个摇臂,每个摇臂以一定的概率吐出硬币,但这个概率赌徒并不知道.赌徒的目标是通过一定的策略最大化自己的奖赏,即获得 ...
- 10g数据库入门与实践 oracle_从实践中学习Oracle SQL笔记一
最近开始做Oracle备份相关的工作,但是Oracle从来没有用过,有点懵.这两天看了一遍官网,找了几本书学习,现对学习的东西总结总结. 这一节主要讲一下入门的概念 首先Oracle是有一个datab ...
- python基础学习[python编程从入门到实践读书笔记(连载一)]
写在前面:本文来自笔者关于<python编程从入门到实践>的读书笔记与动手实践记录. 程序员之禅 文章目录 02变量和简单数据类型 03 列表简介 04 操作列表 05 if语句 06 字 ...
- 关于NB-IOT模块链接阿里物联网平台的学习笔记-记录
关于NB-IOT模块链接阿里物联网平台思路的学习笔记-记录 叙述 调试思路总结 调试过程 AT命令-方式一 AT命令-方式二 AT命令-方式三 软件 关于遇到问题 总结 叙述 前一段是写了一篇&quo ...
- 学习Oracle数据库入门到精通教程资料合集
任何大型信息系统,都需要有数据库管理系统作为支撑.其中,Oracle以其卓越的性能获得了广泛的应用.本合集汇总了学习Oracle数据库从入门到精通的30份教程资料. 资料名称 下载地址 超详细Orac ...
- 慕课学习史上最全零基础入门HTML5和CSS笔记
慕课学习史上最全零基础入门HTML5和CSS笔记 Html和CSS的关系 学习web前端开发基础技术需要掌握:HTML.CSS.JavaScript语言.下面我们就来了解下这三门技术都是用来实现什么的 ...
- sql个人学习笔记记录
sql个人学习笔记记录 一: MySQL命令和语句挺多,全部记忆下来不现实,况且有不常用的指令.下面把大部分的指令做了记录和详细的注释. -- 启动MySQLnet start mysql -- 创建 ...
- oracle入门学习(3) 所用的学习环境介绍与设置
oracle入门学习(3) 原文见我的QQ空间:http://user.qzone.qq.com/284648964?ptlang=2052 由于原文是写在我的QQ空间,文章转过来的过程中造图片丢失, ...
最新文章
- php怎么复制变量,php - 将用户名保留在变量/函数中供以后使用[复制] - SO中文参考 - www.soinside.com...
- 很简单却很实用的强拉脚本
- 腾讯地图和百度地图的PHP相互转换
- 23种设计模式C++源码与UML实现--单例模式中的饿汉模式和懒汉模式
- PHP基础学习之数组使用要点
- (转)C#网络编程(基本概念和操作) - Part.1
- 前端学习(225):尺寸属性
- 线程打印状态_Java线程状态的转换
- 清理vs工程文件(python2.7)
- python3 gui协程_Python3进阶-协程
- 流量卡官网源码【全解无后门】 修复添加教程
- vs 下如何调试js
- wxWidgets事件处理(手机播放器连载系列2)
- 通过流程构建组织的【个人能力】和【团队能力】
- 前端自动化构建工具gulp的使用介绍
- 计算机硬盘大小一般都是整数,电脑硬盘怎么精准整数分区
- 图解机器学习:分类模型性能评估指标
- 跳楼机[DP+spfa]
- HIT CSAPP大作业--程序人生
- word2016 上次启动时失败以安全模式能够解决该问题【office专业版】
热门文章
- oracle blob 限制大小_Oracle的INSTANCE CAGING在数据库资源池中的作用
- 关于软件测试工程师所应该具备的能力,就业前景还有适合女生从事吗?
- ❤️不一样的测试之旅:医疗行业软件测试有什么不一样?❤️
- 人名和成绩一起排序_excel中怎么让人名和他的成绩一起排序
- 学计算机辐射,离散数学对计算机专业系统知识辐射作用.doc
- Installation of Ubuntu source-insight
- no response after clicking clone in github desktop
- 无法解析的外部符号 __imp__glewinit
- 【python】拉普拉斯和sobel对图像处理
- linux上容器端口映射,MacOS下的docker端口映射