Oracle+总结 (1)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Oracle

SQL datebase (DB)

Structured query language 结构化查询语言

DDL(数据定义语言)

Date definition language

create table 建表

alter table 修改表结构

drop table 删表

column data type width constraints(约束)

DML(数据操作语言)

Data manipulation language

insert update delete

data row record

TCL(事物控制语句)

Transcation control language

commit(提交) rollback(回滚) savepoint

DQL(数据查询语言)

Data query language

select

Install software rdbms 安装软件

create database 创建数据库

登录数据库sqlplus username/password

ORACLE_SID(环境变量) 数据库对应的实例的名字,该名字决定了连接哪个具体的数据库

show user查看当前用户

desc tablename查看表结构desc describe的缩写

查询员工的姓名,和工资

select first_name,salary from s_emp;

查询员工的名字和职位

select first_name,title from s_emp;

edit修改sql语句l 查看/运行

select * from s_dept; 列出部门表的所有信息

列出每个员工的年薪

select first_name,salary*12 from s_emp;

列出每个员工的总收入

select first_name,salary*12*(1+commission_pct/100) "tol sal" from s_emp;

空值会导致算术表达式为空,Oracle认为null为无穷大

select first_name,salary*12*(1+nvl(commission_pct,0)/100) tol_sal,

Commission_pct

from s_emp

nvl(p1,p2)

if(p1 is null) then return p2;

else return p1;

coalesce 和nvl实现的是同样的功能,nvl只能用在Oracle,coalesce可以用在多种数据库,nvl的两个参数的类型必须一致

给列起别名在列后直接跟别名,别名有空格,或者大小写敏感,要给别名加“”

将姓和名拼接起来''表示字符串,“”表示别名,||表示字符串的拼接select first_name||last_name employee from s_emp;

select first_name||' '||last_name employee from s_emp;

select first_name||' is in department '||dept_id||'.' from s_emp;

列出有哪些部门

select distinct name from s_dept;

distinct 去重(null值夜只保留一个),只能放在select后

列出公司有哪些不同的职位

select distinct title from s_emp;

set feed on显示查询返回的记录数

各个部门有哪些不同的职位

select title,dept_id from s_emp;部门号和职位联合起来唯一

列出工资大于1000的员工

select first_name,salary from s_emp where salary>1000;

年薪大于12000的员工(where语句后的字段最好不要使用表达式,影响效率) select first_name,salary*12 from s_emp where salary>1000;

where子句不能跟列的别名

列出Carmen的年薪

select first_name,salary from s_emp where first_name='Carmen';

哪些人的职位是Stock Clerk

select first_name,title from s_emp where title='Stock Clerk';

哪些员工的工资在1550-2000之间

select first_name,salary from s_emp where salary>=1550 and salary<=2000;

select first_name,salary from s_emp where salary between 1550 and 2000;

列出部门号为31,41,43的员工的工资

select first_name,salary,dept_id from s_emp where dept_id=31 or

dept_id=41 or dept_id=43;

select first_name,salary,dept_id from s_emp where dept_id in (31,41,43);

select first_name,salary,dept_id from s_emp where dept_id =any (31,41,43); %表示0或多个字符

_表示任意一个字符

select last_name from s_emp where last_name like 'M%';

系统表,user_tables 记录数据库中有哪些表

查询当前用户下有哪些表

select table_name from user_tables;

查找用户下所有以“s_”的表名

select table_name from user_tables where table_name like 'S\_%' escape '\';

escape '\' 表示定义\为转义字符

哪些员工没有提成

select first_name,commission_pct from s_emp where commission_pct is null; 判断字段的值是否为空is null 而不是=null

哪些员工有提成

select first_name,commission_pct from s_emp where commission_pct is not null;

相关文档
最新文档