Oracle超详细学习笔记
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
-----员工培训----
--1.最简单的查询
--例
SELECT *
FROM employees;
DESC employees;
SET linesize 600;
SET PAGESIZE 50;
--例2
SELECT table_name FROM user_tables;--查询数据库中所有表名
--2.查询特定的列
--例
SELECT employee_id,fisrt_name,last_name.salary
FROM employees;
--3.在SELECT子句中使用直接量
--例
SELECT 5
FROM employees;
-----------------------
SELECT 5
FROM dual;--这是Oracle提供的伪表
--例2:
SELECT 'Hello Oracle SQL'--在Oracle中如何表示字符串常量
FROM employees;
SELECT 'Hello Oracle SQL'--在Oracle中如何表示字符串常量
FROM dual;
--例3:
SELECT 'Hello Oracle''s SQL'--用两个连续单引号进行单引号转义
FROM employees;
--4在SELECT子句中使用算术表达式
--例1:查询员工的编号、姓名和年薪
SELECT employee_id,fist_name,last_name,salry,salary*12
FROM employees;
--例2:
SELECT 5/2
FROM dual;
--5.给例定义别名
--例1:
SELECT employee_id AS id
FROM employees;
--例2:
SELECT employee_id AS "Id"--双引号中的字符原样显示
FROM employees;
--例3:
SELECT employee_id,fist_name,last_name,salry,salary*12 AS annual_salary
FROM employees;
--例4:
SELECT employee_id,fist_name,last_name,salry,salary*12 AS "annual salary"
FROM employees;
--如果别名有特殊字符必须使用双引号
--6.字符串的链接运算符
--例:
SELECT employee_id||''||fist_name,last_name,salry,salary*12 AS
annual_salary
FROM employees;
--7.过滤重复记录
--例1:
SELECT DISTINCT department_id
FROM employees;
--例2:
SELECT DISTINCT department_id,job_id
FROM employees;
--第二章过滤查询和结果集排序
--1.使用WHERE子句过滤记录
--例1:
SELECT *
FROM employees
WHERE salary > 8000;
--例2:
SELECT employee_id,first_name,last_name,salary
FROM employees
WHERE salary = 17000;
--例3:
SELECT employee_id,first_name,last_name,salary
FROM employees
WHERE salary <> 17000;-- !=
--比较运算符号:>,>=,<,<=,=,!=或<>
--例4
SELECT employee_id,first_name,last_name,salary
FROM employees
WHERE salary >=2500 AND salary <= 17000;
--逻辑运算符:AND,OR,NOT
--2.在WHERE子句中使用字符串和日期
--例1:查询职位ID为st_clerk的员工信息
SELECT employee_id,job_id,first_name,
FROM employees
WHERE job_id = 'ST_CLERK';
--表中字段的值是区分大小写的
--例2:查询1998年7月9日入职的员工信息
SELECT employee_id,job_id,first_name
FROM employees
WHERE hire_date = '09-7月-1998';
--日期直接量必须以字符串的形式来体现
--Oracle的日期是格式敏感的
--标准日期表示DD-MM-RR
--3.其他比较运算符
--1)BETWEEN AND
--例1:查询工资在【2500,7000】上的员工信息
SELECT employee_id,job_id,first_name,salary
FROM employees
WHERE salary BETWEEN 2500 AND 7000;
--包含边界值
--第一个值要小于第二个值
--练习:查询1998年入职的员工信息
SELECT employee_id,job_id,first_name,salary,hire_date
FROM employees
WHERE hire_date BETWEEN '01-1月-1998' AND '31-12月-1998';
--2) IN
--例1:查询职位ID是ST_CLERK或者ST_MAN的员工
SELECT employee_id,job_id,first_name,salary,hire_date
FROM employees
WHERE job_id IN ('ST_CLERK','ST_MAN');
--例2
SELECT employee_id,job_id,first_name,salary,hire_date
FROM employees