oracle数据库查询1;

1.单表简单查询;

select * from scott.emp

2.创建表:

create table score(
       cid int primary key,
       html number,
       js number,
       ajax number
)
create table java1227(
     jid number primary key,--主键
     birth date,
     jname varchar2(20) not null,--非空
     phone varchar(12) unique,--唯一约束
     address varchar(30) default '山东淄博',--缺省约束
     sex char(5) check(sex in ('''')),--检查约束
     cid int,
     foreign key(cid) references score(cid)
)

3.新增数据

insert into java1227 values(1,to_date('1996-01-27','yyyy-mm-dd'),'刘文','18702258888','山东淄博'''1);

4.权限创建新用户

create user laoliu identified by 123456; 密码是123456

5.赋予连接数据库获取资源权限

grant connect,resource to laoliu;

6.撤销权限

revoke select ,update on scott.emp from laoliu;

7.复制表(整个表复制 包含数据)

create table emp01 as select * from emp order by sal

8.只复制表结构(不包含数据)

create table emp02 as select * from  emp where 1=2

9.内连接查询(两种都可以)

select * from  emp join dept on emp.deptno=dept.deptno
select * from emp e ,dept d where e.deptno=d.deptno

10.左外连接 内连接的结果+左表中不满足条件的数据,对应右表字段自动补空

select * from  dept left join emp on emp.deptno=dept.deptno

11.右外连接 内连接的结果+右表中不满足条件的数据,对应左表字段自动补空

select * from  emp right join dept on emp.deptno=dept.deptno

12.查询男女人数

select sex,count(*) from java1227 group by sex

13.查询人数大于1的性别

select sex from java1227 group by sex having count(*)>1

14.将另一个查询结果当做此查询的表

select * from  (select empno,ename,job from emp)

15.分页(rownum 是伪列)

select * from (select rownum as r,emp.* from emp) where r>=1 and r<=4
select * from (select rownum as r,emp.* from emp) where r>=5 and r<=8

希望对有需要的有所帮助;

posted @ 2020-06-08 14:44  丿狂奔的蜗牛  阅读(244)  评论(0编辑  收藏  举报