`
商山居士
  • 浏览: 9052 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

SQL语句Oracle数据库的基本增删改查

 
阅读更多

sql语句在很多中数据库中都是通用的,但是在不同的数据库中有着部分的差别,所以今天就只介绍sql在

Oracle中的基本应用,看以下例子

--建表
create table person(username varchar2(20),userage number(10),usersex char(2));

--查看表结构
desc person;

--修改表字段的值不能为null
alter table person modify(userage number(10) not null);

--查询某表的内容
select * from person;

--查看当前用户所有的表
select * from tab;

--插入数据(如果只给部分字段赋值,前后必须一一对应)
insert into person(username,userage,usersex)values('张四',20,'男');

--插入数据(不指定表的结构,就必须对所有字段都赋值)
insert into person values('杨过',30,'男');

--修改数据(如果后面没有where语句,则把所有的username都改了)
update person set username='张四'where username='张三';

--删除该表所有数据
delete person;

--删除指定的数据
delete person where username='张三'; 


----------------------------------------------------------------------简单查询

--查询一张表中的所有数据
select * from emp;

--查询指定的字段(结果集会按照查询的字段顺序来显示数据)
select empno,ename from emp;

--去掉结果集当中重复行
select distinct job from emp;

--条件查询(查询史密斯的部门,工作,薪水)(区分大小写)
select deptno,job,sal from emp where ename='SMITH';




--条件查询(查询部门编号为10和20的的员工)
select * from emp where deptno=10 or deptno=20;

--条件查询(查询薪水大于2000并且下雨2500)
select * from emp where sal>2000 and sal<2500;



--模糊查询           (  % 表示通配任意个字符     _ 表示通配一个字符  )
select * from emp where ename like '%K%';

--查询首字母是S的员工
select * from emp where ename like 'S%';

--查询第三个字母是O的员工
select * from emp where ename like '__O%';

--在where中使用in
--查询存在于数组中的(7369,7566)
select * from emp where empno in(7369,7566);


--显示没有上司的员工
select * from emp where mgr is null;

--以别名显示(as可以省略)
select empno as 编号,ename as 姓名,sal as 月薪 from emp where ename like 'S%';

--显示smith的编号和年薪
select empno 编号,ename 姓名,sal*12 年薪 from emp where ename='SMITH';

--显示工资小于1000或者职位为MANAGER,且名字开头为J的员工
select * from emp where (sal<1000 or job='MANAGER') and ename like 'J%';

--查询的所有数据,并且按照薪水从高到低排序  (desc 倒序排序 ; asc 顺序排序)
select * from emp order by sal desc;
select * from emp order by sal asc;

--统计所有员工的编号,姓名,年薪(月薪+奖金)     nvl(comm,0)  当comm为null的时候用0替代来计算
select empno 编号,ename 姓名,sal*12+nvl(comm,0) 年薪 from emp;

--根据别名来排序
select empno 编号,ename 姓名,sal*12+nvl(comm,0) 年薪 from emp order by 年薪 desc;

----------分组函数  max  min  avg  sum  count

--查询最高月薪是多少
select max(sal) 月薪 from emp;

--查询月薪最高的员工和月薪最低的员工
select empno 编号,ename 编号,sal 月薪 from emp where sal=(select max(sal) 月薪 from emp); --最高
select empno 编号,ename 编号,sal 月薪 from emp where sal=(select min(sal) 月薪 from emp); --最低
select empno 编号,ename 编号,sal 月薪 from emp where sal=(select max(sal) 月薪 from emp) or sal=(select min(sal) 月薪 from emp);--最高和最低一起

--计算员工的平均月薪
select  avg(sal) 平均月薪 from emp;
select sum(sal)/count(empno) 平均月薪 from emp;
--计算有多少员工
select count(empno) 员工数 from emp;
--计算一个月所有薪水总数
select sum(sal) 总月工资 from emp;


------------分组语句
--group by
--显示每个部门的最高工资和平均工资
--分组的条件一定要先查询出来
select max(sal) 最高月薪,avg(sal) 平均月薪,deptno 部门 from emp group by deptno;

--显示每个部门每种岗位的平均工资和最低工资
select avg(sal) 平均月薪,min(sal) 最低工资,job 岗位,deptno 部门 from emp group by job,deptno order by deptno;

--显示平均工资低于2000的部门和它的平均工资     分组之后的条件用having
select avg(sal) 平均工资,deptno 部门 from emp group by deptno having avg(sal)<2000;

--显示平均工资高于2000的部门和它的平均工资,并且财务部不参与
select deptno 部门,avg(sal) 平均月薪 from emp where deptno!=10 group by deptno having avg(sal)>2000 order by avg(sal);


-------------------------------------------------------------------------------------------------多表查询
--查询部门表
select * from dept;

--笛卡尔集,两个表的关联条件
select e.ename 姓名,e.sal 月薪,d.dname 部门名字 from emp e,dept d where e.deptno=d.deptno;

--显示部门号为10的部门名,员工名,月薪
select e.ename 姓名,e.sal 月薪,d.dname 部门名字 from emp e,dept d where e.deptno=d.deptno and e.deptno=10;

--显示各员工的姓名,工资,工资级别    没有一一对应的关联条件
select e.ename,e.sal,s.grade from emp e,salgrade s where e.sal between s.losal and s.hisal;

--显示员工姓名,员工工资,所在部门的名字,并按照部门来排序
select e.ename,e.sal,d.dname from emp e,dept d where e.deptno=d.deptno order by e.deptno desc;

-----思考题


1、	--选择部门30中所有的员工

2、	select * from emp where deptno = 30;

3、	--列出所有业务人员(CLERK)的姓名,编号,和部门编号。

4、	select empno,ename,deptno from emp where job = 'CLERK';

5、	--找出佣金高于薪水的员工

6、	select * from emp where comm>sal;

7、	--找出佣金高于薪水60%的员工

8、	select * from emp where comm>sal*0.6;

9、	--找出部门10中所有的经理和部门20中所有业务员的详细资料

10、	select * from emp where deptno =10 and job = 'MANAGER' or deptno =20 and job = 'CLERK';

11、--	找出部门10中所有的经理和部门20中所有业务员,既不是经理又不是业务员但薪水大于等于2000的所有的员工信息

12、	select * from emp where deptno =10 and job = 'MANAGER' or deptno =20 and job = 'CLERK' or job!='MANAGER' and job!='CLERK'and sal>=2000;
13、--	找出收取佣金的员工的不同工作;

14、	select distinct job from emp where comm is not null;

15、--	找出收取佣金且收取佣金低于100的员工;

16、	select * from emp where comm<100;

19、--	找出早于12年前的受雇员工
20、	select * from emp where hiredate <'1-1月 2012';

27、	--按名字排序员工

28、	select * from emp where ename like 'A%';

35、--	找出名字包含“A”的员工

36、	select * from emp where ename like '%A%';

 这些用法基本包括了oracle数据库的基本增删改查功能

分享到:
评论

相关推荐

    jsp连接Oracle数据库实现增删改查

    在JavaWeb开发中,连接Oracle数据库并实现增删改查操作是常见的需求。"jsp连接Oracle数据库实现增删改查"这个项目旨在教你如何利用JSP(JavaServer Pages)技术来构建一个完整的用户管理系统,包括登录、注册以及对...

    C#连接oracle数据库执行简单的增删改查操作.docx

    C#连接Oracle数据库执行简单的增删改查操作是指使用C#语言连接Oracle数据库,并执行基本的数据操作,如增删改查。下面是对该操作的详细解释: 一、连接Oracle数据库 要连接Oracle数据库,需要引用System.Data....

    JSP对Oracle数据库进行增删改查实例.docx

    《JSP对Oracle数据库进行增删改查实例》 在Web开发中,JSP(JavaServer Pages)常常被用于创建动态网页,而Oracle数据库作为一款强大的关系型数据库管理系统,广泛应用于企业级应用。本实例将详细讲解如何使用JSP与...

    JDBC实现Oracle数据库的增删改查

    总而言之,JDBC为Java开发者提供了强大的工具来与Oracle数据库进行交互,通过熟练掌握JDBC,可以高效地实现数据的增删改查操作。在实践中,还需注意SQL注入安全问题,合理使用PreparedStatement,以及优化数据库访问...

    java实现增删改查使用Oracle数据库

    对于初学者来说,掌握如何使用Java操作Oracle数据库进行增删改查是基础且重要的技能。本教程将围绕这个主题展开,帮助你入门这一领域的知识。 一、Java数据库连接(JDBC) 在Java中与Oracle数据库交互,首先需要...

    VS2010中用C#实现对Oracle数据库的增删改查及界面显示源码

    在本项目中,我们主要探讨如何使用C#编程语言在Visual Studio 2010(VS2010)环境中与Oracle数据库进行交互,包括基本的CRUD(创建、读取、更新、删除)操作以及在用户界面上的数据显示。以下是对这个主题的详细解析...

    ORACLE常用增删改查语句

    ORACLE常用的查询语句以及数据库授权语句 表与表之间的内外连接查询 日期时间的SQL函数处理 值的收藏 由于一次性上传不了两份文档,下载了ORACLE.txt的童鞋可以再点我的资料免费下载数据库授权语句的文件

    vb.net操作Oracle数据库增删改查以及存储过程调用1

    VB.NET 操作 Oracle 数据库增删改查以及存储过程调用 在本篇文章中,我们将详细介绍如何使用 VB.NET 操作 Oracle 数据库,包括增删改查操作以及存储过程的调用。 VB.NET 操作 Oracle 数据库的准备工作 在开始操作...

    C#连接Oracle数据增删改查

    本文将深入探讨如何使用C#连接Oracle数据库并进行基本的增删改查操作。通过提供的OracleTest增删改查项目源码,我们可以直观地了解这一过程。 首先,连接Oracle数据库需要Oracle的客户端驱动,例如ODP.NET(Oracle ...

    C#连接oracle数据库执行简单的增删改查操作

    本示例详细介绍了如何使用C#连接Oracle数据库并执行基本的增、删、改、查(CRUD)操作。这里我们将深入探讨相关知识点。 首先,确保你的项目引用了`System.Data.OracleClient`命名空间,这是.NET Framework提供的...

    SSH框架实现增删改查,Oracle数据库

    在实现增删改查时,我们需要创建Action类,定义对应的方法处理HTTP请求,并通过返回值控制视图的跳转。 2. **Spring**:Spring框架提供依赖注入(DI)和面向切面编程(AOP),使得组件间的耦合度降低。在SSH中,...

    jdbc操作oracle数据库(增删改查)

    本示例展示了如何使用JDBC操作Oracle数据库,实现数据的增删改查操作。Oracle数据库是一种广泛使用的商业关系型数据库管理系统。 首先,我们需要了解JDBC的基本操作步骤: 1. 加载数据库驱动:通过`Class.forName()...

    Eclipse对Oracle11g增删改查实例

    连接建立后,我们就可以执行SQL语句进行数据的增删查改操作了。例如,假设有一个名为"Employees"的数据表,我们可以使用PreparedStatement对象来插入新记录: ```java String insertSql = "INSERT INTO Employees ...

    增删改查 orcale

    以上就是使用Java和JDBC进行Oracle数据库增删改查的基本步骤。在实际应用中,还应注意异常处理、事务管理以及性能优化等细节。同时,由于`jxc`文件名没有给出更多信息,这里无法提供具体代码示例,但可以根据上述...

    python链接oracle数据库以及数据库的增删改查实例

    - 这篇文档通过实例详细介绍了如何利用Python语言通过cx_Oracle模块连接Oracle数据库,并演示了增删改查(CRUD)操作的具体实现过程。这对于掌握Python与Oracle数据库交互的基本技能非常有帮助。 以上知识点对于...

    JSP对Oracle进行增删改查

    本篇文章将详细讲解如何使用JSP与Oracle数据库进行交互,实现增、删、改、查的基本操作。 首先,我们需要一个模型类来表示数据库中的表结构。在给定的例子中,`stu`类代表了学生表,包含三个属性:sid(学生ID)、...

    数据库javaweb的增删改查

    "数据库javaweb的增删改查"是指使用Java语言在Web环境中执行对数据库的基本操作,包括添加(Add)、删除(Delete)、修改(Update)和查询(Query)。这些操作构成了任何数据驱动应用程序的基础。 一、数据库连接 ...

    jdbc操作oracle数据库(增删改查).docx

    JDBC 操作 Oracle 数据库(增删改查) JDBC(Java Database Connectivity)是一种Java API,用于连接和操作关系数据库。 Oracle 数据库是最流行的关系数据库之一,广泛应用于企业级应用中。下面是使用 JDBC 操作 ...

    JAVA数据库基本操作,增删改查

    ### JAVA数据库基本操作:增删改查 在Java开发中,与数据库进行交互是一项非常重要的技能。无论是构建简单的Web应用还是复杂的企业级系统,开发者都需要掌握如何通过Java代码执行SQL命令来实现数据的增删改查操作。...

Global site tag (gtag.js) - Google Analytics