总计最近学过的重要的sql语句,希望大家多多补充

其中的表用scott中的代替

1、创建表、删除表:create table 表名称 、drop table  表名称

2、对表的三种基本操作:创建字段,删除字段、修改字段: alter table 表名 add 字段名称 数据类型、alter table 表名 drop column 字段名称、alter table 表名 modify 字段名 数据类型

3、创建约束的语法: alter table 表名 add constraint 约束名称 (被约束的字段);

ex:alter table student add constraint pk_stuno primary key(stuno);  约束有:①主键约束 primary key ②检查约束 check ③ 唯一约束 unique;

4、外键约束:外键约束是对具有关联的两张表而言的,一张表的主键是领一张表的外键,两张表中有一个公共字段是一模一样的:

ex:alter table student add constraint fk_tno foreign key(tno) references teacher(tno);

5、序列:5.1创建序列 create sequence 序列名称 start with 数字 increment by 数字 maxvalue  数组 cycle cache 数字 

6、数据的增删改查:

6.1数据的增加: insert into 表名(字段名称)values(需要增加的数据类型要与字段相同)

6.2数据的删除:delete from 表名 where (删除的条件,一般根据编号删除)

6.3数据的改: update 表名  set 字段=值 where(修改的条件,一般也是根据编号修改)

****注意这三个操作修改完成后都需要提交

6.4查找:这里面水太深,我的水平只能给大家讲过大概。还希望有大神能给补充比较经典的查询。

语法:select 最终需要查找的数据 from 表名 where(条件) order by asc/desc group by 分组字段 组内条件

下面是给大家总结了几个小例子:

--1、同一表中出现员工的姓名薪资及员工所在部门和编号

select e.ename,e.sal,d.dname,d.deptno from emp e inner join dept d on e.deptno=d.deptno; 
--2、修改员工表中编号为7369的员工姓名为jacky
update emp set ename='jacky' where empno=7369;
--3、删除表中编号为7499的人的信息
 delete from emp where empno=7499
--4、分页查询上限15下限为10,进行升序排列
select * from(select t.*,rownum r from(select * from emp order by sal asc)t where rownum<=15)r where r>=10;
--5、查询超出50部门平均工资的员工
select * from emp where sal>(select avg(sal) from emp where deptno=50);
--6、查询工资表中工资最低的人
select min(sal) from emp;
--7、查询平均工资在2000以上的部门有哪些
select deptno,avg(sal) from emp group by deptno having avg(sal)>2000;
--8、通过部门编号对员工表惊醒分组,并显示部门编号和当前部门人数
  select deptno,count(*)  from emp group by deptno;
--9、查询工资在1500元以上的clerk职位的人的信息
 select * from emp where sal>1500 and job='CLERK';
--10、查询员工姓名中包含S的员工信息
select * from emp where ename like '%S%';


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值