qlsql 编程
来源:互联网 发布:艾米莉狄金森 知乎 编辑:程序博客网 时间:2024/05/17 07:53
Select e.empno,e.ename,m.empno,m.enmae
From
Emp emp e,emo m
where
e.mgr=m.empno;
1.自连表查询 行变列
select empno,ename from emp;
select rownum,empno,ename from emp;
2.rownum:伪列
select rownum,empno,ename from emp where rownum<=5; ##true
select rownum,empno,ename from emp where rownum<=5 ##fault
3.分页:1-5
select * from(
select rownum r,empno,ename from emp
where rownum<=5
)t
where t.r>0;
分页:6-10
select * from(
select rownum r,empno,ename from emp
where rownum<=10
)t
where t.r>5;
4.使用 max/min 查询最高工资
select max(sal) from emp;
select min(sal) from emp;
5.使用 avg 查询平均工资
select avg(sal) from emp;
6.使用 sum 查询工资总和
select sum(sal) from emp;
7.统计员工人数
select count(*) from emp;
8.模糊查询
select ename from emp where ename like ‘%S%’;
9. 查询系统时间 (dual:模式表)
select sysdate from dual;
10.切换用户
conn holly/sys;
select * from classes;
出现关联表的时候,先删除从表,再删除主表
11.创建用户
create table student(
sid number(10) not null primary key,
sname varchar2(20) not null,
studytime date,
score number(10,2) not null
);
12.创建序列
create sequence seq_student;
14.第一个 PL/SQL 块
set serverout on
– 声明部分
declare
—— 定义变量
v_name varchar2(20);
– 执行部分
begin
– 执行赋值操作
v_name:=’holly’;
–打印输出
dbms_output.put_line(‘v_name’||v_name)
end;
/
conn scott/tiger;
15.查询 emp 表中id 为7369 的ename 值,并赋值给 v_ename变量,并打印输出
set serverout on
declare
v_ename emp.ename%type
begin
select ename into v_ename from emp where empno=7369
dbms_output.put_line(‘7369的员工姓名位:’||v_ename);
end;
/
16.查询 emp 表中id 为XXXX 的ename 值,并赋值给 v_ename变量,并打印输出
set serverout on
declare
– Scanner input = new Scanner();
– int p_empno = input.nextInt();
– int v_emppno = p_empno;
v_emppno emp.empno%type:=&p_empno; #&:接受参数的固定写法v_ename emp.ename%type;
begin
select ename into v_ename from emp where empno=v_empno;
dbms_output.put_line(v_empno||’的员工姓名为:’||v_ename);
end;
/
17.根据编号查询许多字符串
set serverout on
declare
–用%TYPE 类型定义与表相配的字段
TYPE T_Recor IS RECORD(
T_no emp.empno%TYPE,
T_name emp.ename%TYPE,
T_sal emp.sal%TYPE);
–声明接受数据的变量
v_emp T_Record;
v_emppno emp.empno%type:=&p_empno;
BEGIN
select empno,ename,sal INTO v_emp FROM emp WHERE
empno=v_emppno;
DBMS_OUTPUT.PUT_LINE
(TO_CHAR(v_emp.t_no)||chr(10)||v_emp.t_name||chr(10)||
TO_CHAR(v_emp.t_sal));
END;
/
18.%ROWTYPE 返回行数据
set serverout on
declare
v_empno emp.empno%TYP:=&no;
rec emp%ROWTYPE;
BEGIN
SELECT * INTO rec FROM emp WHERE empno=v_empno;
DBMS_OUTPUT.PUT_LINE(‘姓名:’||rec.ename||’工资’||rec.sal
||’工作时间:’||rec.hiredate);
END;
/
19.insert
insert into student
(seq_student.nextval,’holly’,
to_date(‘2015-05-06’,’yyyy-MM-dd’),78.8);
commit;
20,插入一条记录并显示
set serverout on
DECLARE
ROW_id ROWID;
info VARCHAR2(40);
BEGIN
UPDATE dept SET DNAME=’财务室’ WHERE DEPTNO=10
RETURNING rowid,dname||’:’||deptno||’:’
||loc
INTO row_id,info;
DBMS_OUTPUT.PUTLINE(‘ROWID:’||row_id);
DBMS_OUTPUT.PUTLINE(info);
END;
/
- qlsql 编程
- emacs执行qlsql时注意
- 编程
- 编程
- 编程
- 编程
- 编程
- 编程!
- 编程
- 编程
- 编程
- 编程
- 编程
- 编程
- 编程
- 编程
- 编程
- 编程
- 空格导致数据库查不到数据
- Image Processing——图像处理教程(一)
- Python Django AngularJs dropzone 多个上传文件 爬坑
- effective java(8) 之覆盖equals时遵守通用的约定
- 日期工具,各种相互转换
- qlsql 编程
- define与typedef
- C++继承与多态
- 今日付出的汗水,只为明日不一样的自己
- Hive优化总结 ---by 食人花
- Android监听电量的状态
- 输出图案
- react-redux 开发实践与学习分享
- Activity中获取windowmanager的方法