第一篇:11-SQL語句測試題3
EMPLOYEESJOB_GRADESPK FK2FK1employee_idfirst_namelast_nameemailphone_numberhire_datejob_idsalarycommission_pctmanager_iddepartment_idPK FK1DEPTARTMENTdepartment_iddepartment_namemanager_idlocation_id grade_level lowest_sal highest_salLOCATIONSPK location_idcity
以下各個題目將用到上圖的4個表,其關聯關系如圖所示。這個四個表中字段的具體情況參看如下內容:
EMPLOYEES(employee_id number(6)not null,first_name varchar2(20),last_name varchar2(25)not null,email varchar2(25)not null,phone_number varchar2(20),hire_date date not null,job_id varchar2(10)not null,salary number(8,2),commission_pct number(2,2),manager_id number(6),department_id number(4))
DEPT(department_id number(4)not null,department_name varchar2(30)not null,manager_id number(6),location_id number(4))
locations(location_id number(4)not null,city varchar2(20))
job_grades(grade_level varchar2(3),lowest_sal number,highest_sal number)1.EMPLOYEES(employee_id,first_name,last_name,email,phone_number,hire_date,job_id,salary,commission_pct,manager_id,department_id)。job_grades(grade_level,lowest_sal,highest_sal)。顯示 JOB_GRADES 表的結構。創建一個查詢顯示所有雇員的 name、job、department name、salary 和 grade。2.EMPLOYEES(employee_id,first_name,last_name,email,phone_number,hire_date,job_id,salary,commission_pct,manager_id,department_id)。創建一個查詢顯示那些在雇員 Davies 之后入本公司工作的雇員的name 和 hire date。
3.EMPLOYEES(employee_id,first_name,last_name,email,phone_number,hire_date,job_id,salary,commission_pct,manager_id,department_id)。顯示所有雇員的 names 和 hire dates,他們在他們的經理之前進入本公司,連同他們的經理的名字和受雇日期一起顯示。列標簽分別為 Employee、Emp Hired、Manager 和 Mgr Hired。
4.EMPLOYEES(employee_id,first_name,last_name,email,phone_number,hire_date,job_id,salary,commission_pct,manager_id,department_id)。顯示所有雇員的最高、最低、合計和平均薪水,列標簽分別為:Maximum、Minimum、Sum 和 Average。四舍五入結果為最近的整數
5.在4題基礎上,顯示每中工作類型的最低、最高、合計和平均薪水。6.EMPLOYEES(employee_id,first_name,last_name,email,phone_number,hire_date,job_id,salary,commission_pct,manager_id,department_id)。寫一個查詢顯示每一工作崗位的人數。7.EMPLOYEES(employee_id,first_name,last_name,email,phone_number,hire_date,job_id,salary,commission_pct,manager_id,department_id)。確定經理人數,不需要列出他們,列標簽是 Number of Managers。提示:用 MANAGER_ID 列決定經理號。8.EMPLOYEES(employee_id,first_name,last_name,email,phone_number,hire_date,job_id,salary,commission_pct,manager_id,department_id)。寫一個查詢顯示最高和最低薪水之間的差。列標簽是 DIFFERENCE。
9.EMPLOYEES(employee_id,first_name,last_name,email,phone_number,hire_date,job_id,salary,commission_pct,manager_id,department_id)。顯示經理號和經理付給雇員的最低薪水。排除那些經理未知的人。排除最低薪水小于等于 $6,000 的組。按薪水降序排序輸出。10.EMPLOYEES(employee_id,first_name,last_name,email,phone_number,hire_date,job_id,salary,commission_pct,manager_id,department_id)。DEPT(department_id,department_name,manager_id,location_id)。寫一個查詢顯示每個部門的名字、地點、人數和部門中所有雇員的平均薪水。四舍五入薪水到兩位小數。11.EMPLOYEES(employee_id,first_name,last_name,email,phone_number,hire_date,job_id,salary,commission_pct,manager_id,department_id)。創建一個查詢顯示雇員總數,和在 1995、1996、1997 和 1998受雇的雇員人數。創建適當的列標題。12.EMPLOYEES(employee_id,first_name,last_name,email,phone_number,hire_date,job_id,salary,commission_pct,manager_id,department_id)。創建一個混合查詢顯示工作崗位和工作崗位的薪水合計,并且合計部門 20、50、80 和 90 的工作崗位的薪水。給每列一個恰當的列標題。13.EMPLOYEES(employee_id,first_name,last_name,email,phone_number,hire_date,job_id,salary,commission_pct,manager_id,department_id)。寫一個查詢顯示與 Zlotkey 在同一部門的雇員的 last name 和 hire date,結果中不包括 Zlotkey。14.EMPLOYEES(employee_id,first_name,last_name,email,phone_number,hire_date,job_id,salary,commission_pct,manager_id,department_id)。創建一個查詢顯示所有其薪水高于平均薪水的雇員的雇員號和名字。按薪水的升序排序。15.EMPLOYEES(employee_id,first_name,last_name,email,phone_number,hire_date,job_id,salary,commission_pct,manager_id,department_id)。寫一個查詢顯示所有工作在有任一雇員的名字中包含一個 u 的部門的雇員的雇員號和名字 16.EMPLOYEES(employee_id,first_name,last_name,email,phone_number,hire_date,job_id,salary,commission_pct,manager_id,department_id)。DEPT(department_id,department_name,manager_id,location_id)。顯示所有部門地點號(department location ID)是 1700 的雇員的 last name、department number 和 job ID。17.EMPLOYEES(employee_id,first_name,last_name,email,phone_number,hire_date,job_id,salary,commission_pct,manager_id,department_id)。顯示每個向 King 報告的雇員的名字和薪水。18.EMPLOYEES(employee_id,first_name,last_name,email,phone_number,hire_date,job_id,salary,commission_pct,manager_id,department_id)。DEPT(department_id,department_name,manager_id,location_id)。顯示在 Executive 部門的每個雇員的 department number、last name 和 job ID。19.在15題基礎上,查詢顯示所有收入高于平均薪水并且工作在有任一雇員的名字中帶有一個 u 的部門的雇員的 employee numbers、last names 和 salaries。20.創建一個稱為EMPLOYEES_VU的視圖,它基于EMPLOYEES表中的雇員號、雇員名和部門號。將雇員名的列標題改為 EMPLOYEE。21.22.在20題的基礎上,顯示 EMPLOYEES_VU 視圖的內容。使用EMPLOYEES_VU視圖,輸入一個查詢來顯示所有的雇員名和部門號。23.創建一個名為DEPT50視圖,其中包含部門50中的所有雇員的雇員號、雇員名和部門號,視圖的列標簽為EMPNO、EMPLOYEE和DEPTNO。不允許通過視圖將一個雇員重新分配到另一個部門。24.在23題基礎上,顯示DEPT50視圖的結構和內容。25.創建一個名為SALARY_VU的視圖,該視圖基于所有雇員的名字、部門名、薪水和薪水級別。用EMPLOYEES、DEPARTMENTS和JOB_GRADES表,分別命名列標簽為Employee、Department、Salary和Grade。26.創建一個序列用于DEPT表的主鍵列,該序列從200開始,并且有最大值1000,序列的增量是10,序列的名字是DEPT_ID_SEQ。27.寫一個查詢,顯示下面關于序列的信息:序列名、最大值、增量大小和最后的值 28.DEPT(department_id,department_name,manager_id,location_id)。寫一個腳本插入兩行到 DEPT 表中,并使用66題創建的序列來生成主鍵。
29.在 EMP 表中的外鍵列 DEPT_ID 上創建一個非唯一性索引。
第二篇:sql常用語句
//創建臨時表空間
create temporary tablespace test_temp
tempfile 'E:oracleproduct10.2.0oradatatestservertest_temp01.dbf'size 32m
autoextend on
next 32m maxsize 2048m
extent management local;
//創建數據表空間
create tablespace test_data
logging
datafile 'E:oracleproduct10.2.0oradatatestservertest_data01.dbf'size 32m
autoextend on
next 32m maxsize 2048m
extent management local;
//創建用戶并指定表空間
create user username identified by password
default tablespace test_data
temporary tablespace test_temp;
//給用戶授予權限
//一般用戶
grant connect,resource to username;
//系統權限
grant connect,dba,resource to username
//創建用戶
create user user01 identified by u01
//建表
create table test7272(id number(10),name varchar2(20),age number(4),joindate date default sysdate,primary key(id));
//存儲過程
//數據庫連接池
數據庫連接池負責分配、管理和釋放數據庫連接
//
//創建表空間
create tablespace thirdspace
datafile 'C:/Program Files/Oracle/thirdspace.dbf' size 10mautoextend on;
//創建用戶
create user binbin
identified by binbin
default tablespace firstspace
temporary tablespace temp;
//賦予權限
GRANT CONNECT, SYSDBA, RESOURCE to binbin
//null與""的區別
簡單點說null表示還沒new出對象,就是還沒開辟空間
個對象裝的是空字符串。
//建視圖
create view viewname
as
sql
//建索引
create index indexname on tablename(columnname)
//在表中增加一列
alter table tablename add columnname columntype
//刪除一列
alter table tablename drop columnname
//刪除表格內容,表格結構不變
truncate table tableneme
//新增數據
insert into tablename()values()
//直接新增多條數據
insert into tablename()
selecte a,b,c
from tableabc
//更新數據 new除了對象,但是這“”表示
update tablename set columnname=? where
//刪除數據
delete from tablename
where
//union語句
sql
union
sql
//case
case
when then
else
end
第三篇:SQL語句
SQL練習
一、設有如下的關系模式,試用SQL語句完成以下操作:
學生(學號,姓名,性別,年齡,所在系)
課程(課程號,課程名,學分,學期,學時)
選課(學號,課程號,成績)
1. 求選修了課程號為“C2”課的學生學號
2. 求選修了課程號為“C2”課的學生學號和姓名
3. 求沒有選修課程號為“C2”課的學生學號
4. 求選修了課程號為“C2”,又選修了課程號為“C3”課的學生學號
5.求選修了課程號為“C2”或“C3”課的學生學號
6.求選修了全部課程的學生學號
7.求至少選修了學號為“98002”的學生所學過的所有課程的學生的學號和姓名。
8.查詢學生選課表中的全部數據
9.查詢計算機系學生的姓名、年齡
10.查詢成績在70—80分之間的學生的學號、課程號和成績
11.查詢計算機系年齡在18—20之間且性別為“男”的學生的姓名和年齡
12.查詢成績在80分以上的學生的姓名、課程號和成績,并按成績的降序排列結果。
13.查詢哪些課程沒有人選修,要求列出課程號和課程名。
14.查詢數學系成績在80分以上的學生的學號,姓名
15.查詢課程號為“C02”的課程的最高分數。
16.查詢計算機系學生的最大年齡和最小年齡。
17.統計每個系的學生人數。
18.統計每門課程的選課人數和考試最高分。
19.統計每個學生的選課門數和考試總成績,并按選課門數的升序顯示結果。
20.查詢總成績超過200分的學生,要求列出學號、總成績。
21.用子查詢實現如下查詢:
(1)查詢選修了課程號“C01”的學生的姓名和所在系。
(2)查詢數學系成績在80分以上的學生的學號和姓名。
(3)查詢計算機系考試成績最高的學生的姓名。
22.刪除選課成績小于60分的學生的選課記錄。
23.將所有選修了課程“C01”的學生的成績加10分。
24.將計算機系所有選修了課程“計算機文化基礎”課程的學生的成績加10分。
25.創建查詢學生的學號、姓名、所在系、課程號、課程名、課程學分的視圖。
26.創建查詢每個學生的平均成績的視圖,要求列出學生學號和平均成績。
27.創建查詢每個學生的選課學分的視圖,要求列出學生學號及總學分。
第四篇:SQL語句
SQL語句,用友的SQL2000,通過查詢管理器寫的語句
1、查詢
2、修改
3、刪除
4、插入
表名:users 包含字段:id,sname,sage
查詢 select * from users查詢users表中所有數據
select id,sname,sage from users查詢users表中id,sname,sage字段所有數據
可以限定查詢條件比如:
select sname from users where sage>20查詢年齡大于20歲的所有人的名字
修改 update users set sname='李四',sage=22將users表中數據都改為姓名李四,年齡22
update users set sname='李四',sage=22 where id=1限定id為1的人的信息修改為
姓名李四,年齡22
可以加where條件。
刪除 delete from users where id=2刪除users表中id為2的一行數據delete from users 代表刪除users中所有數據
插入 insert into users(id,sname,sage)values(5,'劉三',21)插入一條數據
SQL四條最基本的數據操作語句:Insert,Select,Update和Delete。
例如:SELECT columns FROM tables;其中columns為列的名稱,tables為表格名稱
1、查詢:select 字段名 from 表名 where 條件
查找在表(如A)中符合條件的字段
2、修改:update 表名 set 字段名=‘所要修改的內容’
修改在表(如A)中的字段的值為:所要修改的內容
3、刪除: delete from 表名 where 條件
刪除符合條件的表(如A)中的信息
4、插入: insert into 表名(字段名)(‘插入內容’)
在表(如A)中插入字段為:插入內容 的一條信息
第五篇:常用SQL語句
一、創建數據庫
create database 數據庫名
on(name='數據庫名_data',size='數據庫文件大小',maxsize='數據庫文件最大值',filegrowth=5%,//數據庫文件的增長率
filename='數據庫存放的位置')
log on
(name='數據庫名_log',size='數據庫文件大小',maxsize='數據庫文件最大值',filegrowth=5%,//數據庫文件的增長率
filename='數據庫存放的位置')
二、創建數據表
create table 表名
(字段名 字段類型 是否為空 primary key//是否為主鍵)
三、select語句
1、去除重復查詢
select distinct 字段名 from 表名
2、按條件查詢
select * from 表名 where 條件
3、排序desc升序/asc降序
select 字段名 from 表名 order by desc/asc
四、刪除語句
delect from 表名 where 條件
五、修改語句
update from 表名 set 字段名1=‘字段值’,字段名2=‘字段值’ where 條件
六、插入語句
insert into 表名(字段名)values(字段值)//字段名與字段值一一對應
七、創建存儲過程
use 數據庫名
go
create proc 存儲過程名
as
要存儲在里面的SQL語句
八、sql分頁
select top 查詢的條數 *
from表名 where 主鍵 not in(select top 第幾條開始查詢 id from 表名 order by 主鍵)order by 主鍵 desc