1. 程式人生 > >Oracle資料庫操作例題

Oracle資料庫操作例題

select *from emp;
select *from dept;
select *from salgrade;
--1.列出至少有一個員工的所有部門
--第1種
select deptno,count(*)
   from emp e
   group by e.deptno;
--第2種
select distinct deptno from emp;
--第3種
select dname,count(empno) from emp,dept where emp.deptno = dept.deptno group by dname;
--2列出薪金比SMITH多的所有員工
select emp.ename,emp.sal
  from emp
  where  sal > (select sal from emp where ename = 'SMITH')
  order by emp.sal; --3.列出所有員工的姓名及其直接上級的姓名        
select e.ename,d.ename
   from emp e,
        emp d
   where e.mgr = d.empno(+);
  
--4.列出受僱日期早於其它直接上級的所有員工
select e.ename
  from emp e   
  where e.hiredate < (select d.hiredate from emp d where e.mgr = d.empno);
 
--5.列出部門名稱和這些部門的員工資訊,同時列出那些沒有員工的部門
select a.*,b.dname
  from emp a,
       dept b
  where a.deptno(+) = b.deptno;
 
--6.列出所有CLERK(辦事員)的姓名及其部門名稱
select a.ename,b.dname
  from emp a,
       dept b
  where a.job = 'CLERK' and a.deptno = b.deptno; 
 
 
--7.列出最低薪金大於1500的各種工作
select emp.job,min(sal)
  from emp
  group by emp.job
  having min(sal) >1500;
 
--8.列出在部門SALES(銷售部)工作的員工的姓名,假定不知道銷售部的部門變號
select emp.ename
  from emp ,
       dept
  where emp.deptno = dept.deptno and dept.dname = 'SALES';
 
--9.列出薪金高於公司平均薪金的所以員工
select ename,sal
 from emp
 where sal > (select avg(sal) from emp); --10.列出與SCOTT從事相同工作的所有員工
--第1種.
select ename
  from emp
  where job = 'ANALYST';
--第2種.
select ename
  from emp     
  where job = (select job from emp where ename = 'SCOTT' );
      
--11.列出薪金等於部門30中員工的薪金的所有員工的姓名和薪金
select ename,sal
  from emp
  where sal = any(select sal from emp where deptno = 30); --12.列出薪金大於在部門30中員工的薪金的所有員工的姓名和薪金
--第1種
select ename,sal
  from emp
  where sal > all(select sal from emp where deptno = 30);
--第二種
select ename,sal from emp where sal > (select max(sal) from emp  where emp.deptno = 30);
--13.列出在每個部門工作的員工數量、平均工資和平均服務期限
select deptno,count(1),avg(sal),avg((sysdate - hiredate)/365)
  from emp
  group by deptno; --14.列出所有員工的姓名、部門名稱和工作
select emp.ename,dept.dname,emp.sal
  from emp,
       dept
  where emp.deptno = dept.deptno; --15.列出所有部門的詳細資訊和部門人數
select dept.deptno,dept.dname,dept.loc,count(emp.ename)
  from emp ,dept
  where emp.deptno(+) = dept.deptno
  group by dept.deptno,dept.dname,dept.loc;
--16.列出各種工作的最低工資
select emp.job,min(sal)
 from emp
 group by emp.job;
 
--17.列出各個部門的MANAGER(經理)的最低薪資
  select dept.deptno,min(sal)
  from emp,dept
  where  job = 'MANAGER'      
  group by dept.deptno ; --18.列出所有員工的年工資,按年薪從低到高排序
select emp.ename,emp.sal*12
  from emp
  order by emp.sal,emp.ename; --19.列出工資最高的員工資訊
select emp.ename,emp.sal
 from emp
 where sal = (select max(sal) from emp); --20.l列出每個工作崗位的最低工資和最高工資和平均工資且平均工資大於2000的
select emp.job, min(sal),max(sal),round(avg(sal),2)
  from emp
  group by job
  having avg(sal) > 2000; --21.列出工資大於同部門平均工資的所以員工資訊
--第1種
select e1.*
  from emp e1
  where sal > (select avg(sal) from emp e2 where e1.job = e2.job
  group by job);  --第2種
select e1.*
  from emp e1,(select job,avg(sal) as  avg1 from emp
  group by job)e2
  where e1.job = e2.job and e1.sal > e2.avg1; --22.找出各月倒數第二天受僱的員工
SELECT e.ename
FROM emp e
WHERE e.hiredate = (LAST_DAY( e.hiredate)-2);
select *from emp; --ANY、ALL子查詢 --1.查詢出 Emp 表中比任意一個銷售員(“SALESMAN” )工資低的員工姓名、工作、工資。
SELECT e.ename,e.job,e.sal
FROM emp e
WHERE sal < any(SELECT sal FROM emp WHERE job = 'SALESMAN'); --2.查詢出銷售部( SALES)下面的員工姓名,工作,工資。
select emp.ename,emp.job,emp.sal ,a.deptno
FROM emp ,(SELECT deptno FROM dept WHERE dname = 'SALES' ) a
WHERE emp.deptno = a.deptno; --3.查詢出比所有銷售員的工資都高的員工姓名,工作,工資。
SELECT e.ename,e.job,e.sal
FROM emp e
WHERE sal > ALL(SELECT sal FROM emp WHERE job = 'SALESMAN'); --ROWID:表中的每一行在資料檔案中都有一個實體地址, ROWID 偽列返回的就是該行的實體地址。

select last_day(hiredate)-2 from emp;
SELECT *FROM EMP;

相關推薦

Oracle資料庫操作例題

select *from emp; select *from dept; select *from salgrade; --1.列出至少有一個員工的所有部門 --第1種 select deptno,count(*)    from emp e    group by e

查詢oracle資料庫操作記錄

可以使用以下查詢語句查詢oracle相關資訊: 1、查詢oracle修改記錄 select t.SQL_TEXT, t.FIRST_LOAD_TIME from v$sqlarea t where

C# Oracle資料庫操作

C# Oracle資料庫操作類 1 using System; 2 using System.Data; 3 using System.Collections.Generic; 4 using System.Configuration; 5 using System.D

Python實戰之Oracle資料庫操作

本文地址:http://blog.csdn.net/kongxx/article/details/7107661 1. 要想使Python可以操作Oracle資料庫,首先需要安裝cx_Oracle包,可以通過下面的地址來獲取安裝包 http://cx-oracle.sour

Oracle 資料庫操作

Oracle資料庫操作的一些具體的賦權和語法應用. [SQL語句分類] DML 語句(資料操作語句) Insert(用於新增欄位), Update(用於修改已有欄位), Delete, Merge DDL 語句(資料定義語句) Create, Alte(

.NET/C#/Oracle資料庫操作

using System; using System.Data; using System.Collections.Generic; using System.Configuration; using System.Data.OracleClient;

SpringMVC(四) 連線oracle資料庫操作

package com.dragon.entity;public class UserInfo {  private int user_id;  private String user_name;  private String user_password;  public int getUser_id()

Oracle資料庫修改屬性基本操作

前提:     開啟簡易版Oracle需要開啟工作管理員->服務中的OracleServiceXE主服務 跟OracleXETNSListener 基本操作: 登陸方式:1.sqlplus “/as sysdba”;->按要求輸入使用者

Oracle資料庫的相關操作

1  連線時報錯 TNS-12560: TNS: 協議介面卡錯誤 解決步驟問題:   開啟服務:  2 連線oracle  在cmd下輸入sqlplus, 然後輸入賬號和密碼,進入 3 新增使用者 CREATE US

Oracle資料庫相關操作

建立表、刪除表、插入資料、更新資料、刪除資料、添加註釋、 修改註釋、修改表名、修改欄位、新增欄位、刪除欄位 1、建立表 CREATE TABLE person( id varchar2(20) primary key, name varchar2(50 char)

使用批處理檔案批量操作Oracle資料庫

最近,因為業務需要,需要做個批處理檔案,雙擊後,能夠遠端執行一些SQL語句。適合沒有任何資料庫基礎的人使用。查了相關文件,做了個簡單的例子,一共有3個檔案,insert.bat,insert.sql ,log1.txt. 其中insert.bat 這個檔案是批處理,雙擊會執行,或者

ORACLE 資料庫的基本操作語句

1.簡單的表操作   建立一個簡單的表 create table student( name varchar2(20), age number(3) );   插入新記錄 insert into student values('Tom'

oracle 資料庫表字段新增、修改、刪除等DDL操作

oracle 資料庫表字段新增、修改、刪除等操作 1. 建立表 -- Create table create table TB_PERMISSION_ORGANIZATION ( id VARCHAR2(150) not null, parent_id

Oracle資料庫的使用操作

1、為選出的資料加一列固定值       select ‘kk’ as name from table;2、在選擇出的資料中進行判斷,如果為1 則輸出男性,如果為2 則輸出女性 select (case when sex=1 then '男' when

利用oracle官網提供的occi庫在windows下操作oracle資料庫

1、先前用occi操作oracle資料庫都是失敗,後來發現是我下載的庫版本和對應的dll版本不一致導致:如32庫, 卻下載了64位的dll,因此導致在初始化環境就失敗,百思不得其解。 2、在下載好對應的32位庫和32位dll,可以正常初始化環境,操作oracle資料庫。 3、只需下載2個檔案

Oracle-資料庫增刪改查基本操作

一、建立資料表 1).建立不存在的新表:  create table tname(   Data_Name Date_Type [default][預設值]  ); 2).建立已存在表的副本  create table emp1 as selec

Python Test API - 用python連線Oracle資料庫操作

目的: 通過python連線遠端的一臺oracle資料庫伺服器,並用python程式碼實現增刪改查的操作。本研究是為測試API準備資料庫環境的第一步。 環境配置(如果用64bit的,就都需要64bit):  1. 在本地計算機上安裝好oralce client (64bit) 2.

Oracle資料庫入門資料型別與表操作(三)

目錄   基本資料型別 建立表 修改表操作 刪除表操作   基本資料型別 字元型 NCHAR CHAR  區別在於 NCHAR儲存2000個字元,而CHAR只能儲存1000個字元 VARCHAR2   

Oracle資料庫DML(資料操縱語言)參考程式碼,簡單查詢,分組查詢,簡單增刪改操作

撰寫人——軟工二班——陳喜平 – 實驗內容: – 一、簡單查詢 – 編寫簡單查詢語句,理解笛卡爾積、選擇、投影的概念及其在SQL中的實現 –SQL PL/SQL SQLPLUS – DDL :CREATE ALTER DROP 資料定義語言 – DML INSERT DELETE UPDAT

Python操作Oracle資料庫時出現ImportError libclntsh so 10 1 cannot o

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!