oracle 表基本查询

介绍
在我们讲解的过程中我们利用scott 用户存在的几张表(emp,dept)为大家演示如何使用select
语句,select 语句在软件编程中非常有用,希望大家好好的掌握。

emp 雇员表

clerk 普员工
salesman 销售
manager 经理
analyst 分析师
president 总裁
mgr 上级的编号
hiredate 入职时间
sal 月工资
comm 奖金
deptno 部门

dept 部门表
deptno 部门编号
accounting 财务部
research 研发部
operations 业务部
loc 部门所在地点
salgrade 工资级别
grade 级别
losal 最低工资
hisal 最高工资

简单的查询语句

查看表结构

DESC emp;

查询所有列

SELECT * FROM dept;

切忌动不动就用select *

SET TIMING ON; 打开显示操作时间的开关,在下面显示查询时间。
CREATE TABLE users(userId VARCHAR2(10), uName VARCHAR2 (20), uPassw
VARCHAR2(30));
INSERT INTO users VALUES('a0001', '啊啊啊啊', 'aaaaaaaaaaaaaaaaaaaaaaa');

--从自己复制,加大数据量 大概几万行就可以了 可以用来测试sql 语句执行效率

INSERT INTO users (userId,UNAME,UPASSW) SELECT * FROM users;
SELECT COUNT (*) FROM users;统计行数

查询指定列

SELECT ename, sal, job, deptno FROM emp;

如何取消重复行DISTINCT

SELECT DISTINCT deptno, job FROM emp;

查询SMITH 所在部门,工作,薪水

SELECT deptno,job,sal FROM emp WHERE ename = 'SMITH';

注意:oracle 对内容的大小写是区分的,所以ename='SMITH'和ename='smith'是不同的

使用算术表达式 nvl null
问题:如何显示每个雇员的年工资?

SELECT sal*13+nvl(comm, 0)*13 "年薪" , ename, comm FROM emp;

使用列的别名

SELECT ename "姓名", sal*12 AS "年收入" FROM emp;

如何处理null 值
使用nvl 函数来处理
如何连接字符串(||)

SELECT ename || ' is a ' || job FROM emp;

使用where 子句
问题:如何显示工资高于3000 的 员工?

SELECT * FROM emp WHERE sal > 3000;

问题:如何查找1982.1.1 后入职的员工?

SELECT ename,hiredate FROM emp WHERE hiredate >'1-1 月-1982';

问题:如何显示工资在2000 到3000 的员工?

SELECT ename,sal FROM emp WHERE sal >=2000 AND sal <= 3000;

如何使用like 操作符
%:表示0 到多个字符 _:表示任意单个字符
问题:如何显示首字符为S 的员工姓名和工资?

SELECT ename,sal FROM emp WHERE ename like 'S%';

如何显示第三个字符为大写O 的所有员工的姓名和工资?

SELECT ename,sal FROM emp WHERE ename like '__O%';

在where 条件中使用in
问题:如何显示empno 为7844, 7839,123,456 的雇员情况?

SELECT * FROM emp WHERE empno in (7844, 7839,123,456);

使用is null 的操作符
问题:如何显示没有上级的雇员的情况?

错误写法:select * from emp where mgr = '';
正确写法:SELECT * FROM emp WHERE mgr is null;

最新文章

  1. 微软Azure 经典模式下创建内部负载均衡(ILB)
  2. JavaScript学习总结 Ajax和Http状态字
  3. c++ builder xe2 (Embarcadero rad studio) 远程调试 同样适用于 delphi 远程调试 教程
  4. 【转】linux下如何查看某个软件 是否安装?安装路径在哪
  5. GotGitHub
  6. [现代程序设计]homework-03
  7. [改善Java代码]小心switch带来的空值异常
  8. #include&lt; &gt;和#include""的区别
  9. 多线程并发编程之显示锁ReentrantLock和读写锁
  10. Oracle EBS-SQL (WIP-8):检查期间任务下达记录数.sql
  11. 安卓模拟器tools修改
  12. shell 通过EOF在脚本中输入需要的用户名或密码
  13. 【转录组入门】6:reads计数
  14. [Linux]Ubuntu 16.04 远程桌面
  15. NumPy 学习笔记(二)
  16. linux audit审计(8)--ausearch搜索audit日志文件
  17. db2 事务日志
  18. 表单控件 css的三中引入方式css选择器
  19. 【WPF】帐号系统中,用户注册的校验逻辑(正则表达式)
  20. 总结java中的super和this关键字

热门文章

  1. Android Studio安装及首次运行遇到的问题
  2. Navicat Premium 自动备份mysql和sqlserver
  3. HBase0.98.1 通过协调器进行表的行数统计
  4. JAVA除去制定字符的方法
  5. Java开发工程师必会做试题
  6. vs编译和运行的区
  7. 禁用windows 10自动更新
  8. Javascript的AMD规范
  9. [LeetCode OJ] Single Number之二 ——Given an array of integers, every element appears THREE times except for one. Find that single one.
  10. centos 7 samba相关命令