Oracle学习笔记之第八节sql语句(开发课学生指南051)
admin
2023-05-01 09:04:16
0

 开发课 做练习 学生指南051 les01 ppt

 oracle经常两表连接,叫第三范式,如带有ID性质的东西

 以下是sql语句的命令

 select * from departments; 部门表

select * from employees; 员工表

select employee_id,rowid,rownum from employees

where employee_id>=200;  64进制内部运算 rownum本质查询第几行


select employee_id,rowid,rownum from employees

where rownum<=5; 查看前5行


select * from employees e where e.department_id=80; 这部门里的人都有提成 

select last_name,12*salary*(1+commission_pct) from employees; 查看年收入

select last_name,12*salary*(1+nvl(commission_pct,0)) from employees; 查看年收入,处理空行的显示

select * from employees where manager_id is null; 关于空的处理

select last_name,12*salary*(1+nvl(commission_pct,0)) as anaualsal  from employees;进行列别名处理

select last_name,12*salary*(1+nvl(commission_pct,0)) "Anaualsal"  from employees;如果要区分大小写要加双引号

select last_name ||'xxxx'|| job_id from employees; 连起来显示

select department_name || q'[ department's manager id:]' || manager_id as "Department and Manager" from departments;    q'#xxx# 也可以, 后面就是你想要的东西

select DISTINCT department_id from employees; 有除重必须排序(空有显示,178号员工没部门) 



create table t05101_distinct (a varchar2(10),b varchar2(10));

insert into t05101_distinct values ('A','B');

select * from t05101_distinct;

select distinct a,b from t05101_distinct;

insert into t05101_distinct values ('A','B1');  除重是除掉整行

select distinct a,b from t05101_distinct;

select * from user_tab_cols tc where tc.TABLE_NAME='LOCATIONS'; 查看用户范围内的所有表的所有列

方法2:sqlplus命令

sqlplus /nolog

conn hr/oracle_4U

describe  locations  查看表结构




小提示:选中SQL 按F5看执行计划

 

les02 ppt

oracle变量有6种+1形参,两种宿主


select * from employees where rownum=1;

alter session set nls_date_format='YYYY-MM-DD';修改当前会话默认格式

select last_name from employees where hire_date = to_date('17-JUN-07','DD-MON-RR');


select * from employees e where e.employee_id in (select manager_id from employees);查看多少人是老板管过人

select * from employees e where e.employee_id not in (select manager_id from employees);这个例子是错误的。不能not in 因为里头有空值取反还是空

select * from employees e where e.employee_id not in (select manager_id from employees where manager_id is not null);这样才有显示89个人



create table t05102_a (a varchar2(10));

insert into t05102_a values ('A');

insert into t05102_a values ('A1');

insert into t05102_a values ('%');

insert into t05102_a values ('_');

insert into t05102_a values ('_1');

select * from t05102_a;

select * from t05102_a where a like 'A%'; A打头的东西

select * from t05102_a where a like 'A_';查看A打头的东西


select * from t05102_a where a like '\%%' escape '\'; 查看%号

select * from t05102_a where a like '\_%' escape '\';查看下划线打头的

insert into t05102_a values('''');插入单引号

insert into t05102_a values(chr(39)||1); man ascii查看得来的


create table t05102_b (a number,b number);

insert into t05102_b values(1,999);

insert into t05102_b values(1,0);

insert into t05102_b values(2,999);

insert into t05102_b values(2,0);

select * from t05102_b order by a,b;先按a排列在按照b排列

select * from t05102_b order by a desc ,b desc;   

select a "X", b "Y" from t05102_b order by "X" desc,"Y" desc;别名,在order by世界里无所谓是“X”还是a都可以,但是正常语句的sql语句的别名不行


替换变量

select employee_id,salary from employees where employee_id=100;

select employee_id,salary from employees where employee_id=&S_1; 可以进出弹窗,自己选择ID号

select last_name,salary from employees where last_name like '&S_1%';可以进出弹窗

sqlplus /nolog

select  salary from employees where employee_id=&&s_2;问两次后永远都是这个

define 默认在这了

undefine s_2 取消

select  &&s2,salary from employees where employee_id=&s_2;

set verify off 配置这个后就不会有旧的新的,环境变量


相关内容

热门资讯

卖“毒蛋”的人,抓到了 作者 | 何国胜 编辑 | 向现“(人)抓到了,目前案件正在侦办中。”7月28日晚间,苏州禁毒部门有...
尺素金声丨实施零关税国家达63... 海关总署发布的数据显示,今年5月1日起,我国对53个非洲建交国全面实施零关税举措,目前,我国实施零关...
职业索赔盯上基层诊所,倒逼用药... 文 | 布丁基层诊所正在被职业索赔盯上。据新京报,去年夏天,一男子走进河南南阳一家诊所,要求购买三瓶...
“西瓜我全买了”就可以肆意妄为... 拿西瓜砸了人,把瓜都买了,就能一走了之吗?事实证明,这套逻辑在法治社会行不通。7月28日晚,据海峡都...
科学家在日本广岛发现新物质,系... 在美国对日本广岛进行原子弹轰炸近81年后,科学家们在广岛的沙滩上发现了一种奇异且从未被发现过的新物质...
AI失控,反噬开始 作者 | 贺一 编辑 | 阿树近期,中国开源模型在美国频繁引发热议。7月28日,月之暗面发布Kimi...
“总统千金天价离婚”,分到43... 2026年7月24日下午,首尔高等法院,一场持续近十年的司法拉锯战终于接近尾声。法庭裁定SK集团会长...
巴基斯坦,又拿下一个历史性协议 全世界都没想到,接连的中东大战,巴基斯坦正成为最大赢家。去年以色列追杀哈马斯,空袭卡塔尔首都,阿拉伯...
汇正财经贺峰的一对一指导服务怎...   对于考虑购买证券投资顾问服务的投资者来说,'一对一指导服务怎么样'是一个重要的考量维度。需要首先...
重庆失联00后网格员龚宝冬确认...   重庆失联00后网格员龚宝冬确认遇难  【重庆失联00后网格员龚宝冬确认遇难】2026年7月29日...