❶ sql語言實驗報告
1>
select
*
from
教師表
where
系別
='cs';
2>
select
姓名,2011-年齡
as
出生日期
from
學生表
3>
select
*
from
學生表
where
年齡<=20
and
系別='cs';
4>
select
*
from
學生表
where
年齡
not
between
18
and
20;
5>
select
姓名,年齡
from
教師表
where
系別
in('cs','is');
6>
select
*
from
教師表
where
姓名
like
'%敏';
7>
select
*
from
選課表
where
先修課
is
null;
8>
select
count(*)
from
教師表
9>
select
avg(成績),max(成績),min(成績)
from
選課表
where
課程號=5;
10>
select
count(*)
from
選課表
group
by
課程號
❷ 資料庫實驗要SQL語言編寫的
-- Create table
create table Student
(
S_No varchar2(20),
S_Name varchar2(20) not null,
S_Sex varchar2(2) default '男',
S_Birthday date
)
;
-- Add comments to the table
comment on table Student
is '學生';
-- Create/Recreate primary, unique and foreign key constraints
alter table Student
add constraint Pri_S_No primary key (S_NO);
-- Create table
create table Course
(
C_No varchar2(20),
C_Name varchar2(40),
Grade number(4,1)
)
;
-- Add comments to the table
comment on table Course
is '課程';
-- Add comments to the columns
comment on column Course.Grade
is '分數';
-- Create/Recreate primary, unique and foreign key constraints
alter table Course
add constraint Pri_C_No primary key (C_NO);
-- Create table
create table T_Course
(
S_no varchar2(20),
C_no varchar2(20),
Grade number(4,1)
)
;
-- Add comments to the table
comment on table T_Course
is 'take the course選課信息';
-- Add comments to the columns
comment on column T_Course.Grade
is '成績';
-- Create/Recreate primary, unique and foreign key constraints
alter table MEA.T_Course
add constraint For_S_No foreign key (S_NO)
references Student (S_No);
alter table MEA.T_Course
add constraint For_C_No foreign key (C_NO)
references Course (C_No);
3:
-- Add/modify columns
alter table Student add S_Tel varchar2(20);
-- Add comments to the columns
comment on column Student .S_Tel
is '電話';
4:
-- Add/modify columns
alter table Course modify C_Name CVARCHAR2(20);
5:
INSERT INTO Student (S_No, S_Name,S_Sex, S_Birthday ) VALUES ('A001','日月哥','女',to_date('20110515','yyyyMMdd'))
其他你自己來
6:
update Course set Grade =Grade +1
7:
-- Create/Recreate indexes
create unique index PK_oo on Student(S_Birthday order by desc);
8:
select s.S_No, avg(tc.Grade) from Student s,T_Course tc where s.S_No=tc.S_No group by s.S_No
9:
delete T_Course tc where tc.S_No='A000';
delete Student s where s.S_No='A000';
思考題自己來,我用的orcal,這都不給分的話,爆你菊花啦
❸ 求SQL的資料庫實驗報告..關於學生管理系統的..
SQL> create table stu (
2 stu_id number,
3 name varchar2(20),
4 class varchar2(20),
5 sex char(1)
6 );
表已創建。
SQL> alter table stu add constraint pk primary key (stu_id);
表已更改。
SQL> insert into stu values(1, '王昭君', '一班', 'f');
已創建 1 行。
SQL> insert into stu values(2, '楊玉環', '二班', 'f');
已創建 1 行。
SQL> insert into stu values(3, '貂蟬', '三班', 'f');
已創建 1 行。
SQL> insert into stu values(4, '西施', '四班', 'f');
已創建 1 行。
SQL> insert into stu values(5, '帥哥', '五班', 'm');
已創建 1 行。
SQL> commit;
提交完成。
SQL> select * from stu;
STU_ID NAME CLASS S
---------- -------------------- -------------------- -
1 王昭君 一班 f
2 楊玉環 二班 f
3 貂蟬 三班 f
4 西施 四班 f
5 帥哥 五班 m
SQL> delete from stu where stu_id = 5;
已刪除 1 行。
SQL> update stu set sex = 'm' where stu_id = 1;
已更新 1 行。
SQL> select * from stu;
STU_ID NAME CLASS S
---------- -------------------- -------------------- -
1 王昭君 一班 m
2 楊玉環 二班 f
3 貂蟬 三班 f
4 西施 四班 f
SQL> alter table stu add column age number;
alter table stu add column age number
*
第 1 行出現錯誤:
ORA-00904: : 標識符無效
SQL> alter table stu add age number;
表已更改。
SQL> desc stu;
名稱 是否為空? 類型
----------------------------------------- -------- ----------------------------
STU_ID NOT NULL NUMBER
NAME VARCHAR2(20)
CLASS VARCHAR2(20)
SEX CHAR(1)
AGE NUMBER
SQL> update stu set age = 2000 where stu_id = 1;
已更新 1 行。
SQL> select a from (select age a from stu);
A
----------
2000
SQL> select count(*) from stu group by sex;
COUNT(*)
----------
1
3
SQL> select name from stu order by stu_id desc;
NAME
--------------------
西施
貂蟬
楊玉環
王昭君
SQL> spool off;
幫你寫的
❹ sql實驗詳細報告
SPl是什麼
說詳細點
❺ SQL實驗:嵌套查詢和連接查詢
1
嵌套:
select 姓名 from student where 學號 in (select 學號 from 選課 where 課號 in (select 課號 from 課程 where 課名='資料庫原理'))
連接:
select 姓名 from 學生 join 選課 on 學生.學號=選課.學好 join 課程 on 選課.課號=課程.課號 where 課名='計算機原理'
2 嵌套
select 學號,年齡,性別,系名 from 學生 where 年齡 >(select max(年齡) from 學生 where 系名=計算機系)
3 連接
select 課名,成績
from 學生 join 選課 on 學生.學號=選課.學好
join 課程 on 選課.課號=課程.課號
where 姓名='張力'
❻ 求SQL資料庫實驗報告
*****系實驗(上機)報告
課程名稱 資料庫系統基礎
實驗名稱 數據查詢與存儲過程
學號 33
學生姓名 嘻習喜戲
成績
年 月 日
序號 5 實驗名稱 SQL數據查詢
實驗目的:
熟練掌握SQL SELECT 語句,能夠運用該語句完成各種查詢。
實驗內容:
用SQL SELECT 語句完成下列查詢:
1. 查詢客戶表中的所有記錄。
2. 從訂購單表中查詢客戶號信息(哪些客戶有訂購單)。
3. 查詢單價在20元以上(含)的產品信息。
4. 查詢單價在20元以上(不含)的產品名稱為牛奶的產品信息。
5. 查詢單價在20元以上(不含)的產品名稱為牛奶或德國乳酪的產品信息。
6. 查詢有2003年7月訂購單的客戶名稱、聯系人、電話號碼和訂單號信息。
7. 查詢有德國乳酪訂貨的客戶的名稱、聯系人和電話號碼信息。
8. 查詢有德國乳酪訂購需求的訂單名細記錄。
9. 查詢所有訂購數量(即訂單名細中每個訂購項目的數量)都在10個以上的訂購單的信息。
10. 找出和德國乳酪同等價位的所有產品信息。
11. 查詢單價范圍在10元到30元范圍內的產品信息(使用BETWEEN…AND)。
12. 從客戶表中查詢出客戶名稱中有「公司」二字的客戶信息(使用LIKE運算符)。
13. 從客戶表中查詢出客戶名稱中沒有「公司」二字的客戶信息(使用NOT LIKE運算符)。
14. 按產品的單價升序列出全部產品信息。
15. 先按產品名稱排序,再按單價排序列出全部產品信息。
16. 從產品表中查詢共有幾種產品。
17. 從訂購名細表中查詢德國乳酪的訂購總數。
18. 計算德國乳酪所有訂購的總金額。
19. 求所有訂購單的平均金額,在查詢結果中列出訂購單的個數和平均金額。
20. 求每個訂購單訂購的項目數和總金額。
21. 求每個客戶包含了德國乳酪訂購的訂單號及其最高金額和最低金額。
22. 求至少有兩個訂購項目的訂購單的平均金額。
23. 找出尚未最後確定訂購單(即訂購日期為空值的記錄)的有關客戶信息(客戶的名稱、聯系人和電話號碼)和訂單號。
24. 找出在2000年1月1日之後簽訂的訂購單的客戶信息(客戶的名稱、聯系人和電話號碼)、訂單號和訂購日期。
25. 列出每類產品(相同名稱)具有最高單價的產品信息(產品號、名稱、規格說明和單價,提示:使用內外層互相關嵌套查詢)。
26. 確定哪些客戶目前沒有訂購單(使用謂詞NOT EXISTS)。
27. 查詢目前有訂購單的客戶的信息(使用謂詞EXISTS)。
28. 查詢符合條件的產品信息,要求該產品的單價達到了任意一款產品名稱為牛奶的單價的一半(使用ANY或SOME量詞)。
29. 查詢符合條件的產品信息,要求該產品的單價大於任何一款產品名稱為牛奶的單價(使用ALL量詞)。
30. 設計如下的連接操作,並分析各自的特點:
•廣義笛卡兒積
•內連接
•外連接
•左連接
•右連接
•全連接
掌握存儲過程的創建命令,按照題目要求創建存儲過程,理解存儲過程的作用。
(1) 建立存儲過程。查詢單價范圍在x元到y元范圍內的產品信息。
(2) 建立存儲過程。查詢在某年某月某日之後簽訂的訂購單的客戶信息(客戶的名稱、聯系人和電話號碼)、訂單號和訂購日期。
(3) 建立存儲過程。將某產品的訂購日期統一修改為一個指定日期。
(4) 建立存儲過程。刪除沒有簽訂單的客戶信息。
實驗要求:
用SELECT語句完成本次實驗,並提交上機報告。
(1) 掌握存儲過程的創建命令,按照實驗內容的要求創建存儲過程,理解存儲過程的作用。
(2) 用CREATE PROCEDURE和EXECUTE 語句完成本次實驗,並提交上機報告。
實驗准備(本實驗預備知識和為完成本實驗所做的准備):
仔細閱讀課本第五章關於SQL的數據查詢功能的內容
實驗過程(實驗的操作過程、遇到的問題及其解決辦法或未能解決的問題):
用SQL SELECT 語句完成以上30題查詢
實驗總結(總結本次實驗的收獲、未解決的問題以及體會和建議等):
熟練掌握SQL SELECT 語句,能夠運用該語句完成各種查詢
附錄(SQL語句):
--1. 查詢客戶表中的所有記錄。
select * from 客戶
--2. 從訂購單表中查詢客戶號信息(哪些客戶有訂購單)
select 客戶號from 訂單where 訂單號!=null
--3. 查詢單價在元以上(含)的產品信息。
select *from 產品where 單價> 20 or 單價=20
--4. 查詢單價在元以上(不含)的產品名稱為牛奶的產品信息。
select *from 產品where 單價>20 and 產品名稱='牛奶'
--. 查詢單價在元以上(不含)的產品名稱為牛奶或德國乳酪的產品信息
select *from 產品where 單價>20 and (產品名稱='牛奶'or 產品名稱='德國乳酪')
--6. 查詢有年月訂購單的客戶名稱、聯系人、電話號碼和訂單號信息
select 客戶名稱,聯系人, 電話,訂單號from 客戶,訂單where (year(訂購日期)=2003 and month (訂購日期)=7)and (訂單.客戶號=客戶.客戶號)
--7. 查詢有德國乳酪訂貨的客戶的名稱、聯系人和電話號碼信息。
select 客戶名稱,聯系人, 電話from 客戶
where
(客戶號= (select 客戶號from 訂單where(訂單號 =(select 訂單號from 訂單明細
where 產品號= ( select 產品號from 產品where 產品名稱= ' 德國乳酪' )))))
--8. 查詢有德國乳酪訂購需求的訂單名細記錄。
select * from 訂單明細where (數量!=null and 產品號=(select 產品號from 產品where 產品名稱= '德國乳酪'))
--9. 查詢所有訂購數量(即訂單名細中每個訂購項目的數量)都在個以上的訂購單的信息。
select * from 訂單where (訂單號in (select 訂單號from 訂單明細where (數量>10)))
--10. 找出和德國乳酪同等價位的所有產品信息。
select * from 產品where (
--11. 查詢單價范圍在元到元范圍內的產品信息(使用BETWEEN…AND)。
select * from 產品where (單價between 10 and 30)
--12. 從客戶表中查詢出客戶名稱中有「公司」二字的客戶信息(使用LIKE運算符)
select * from 客戶where 客戶名稱like '%公司%'
--13. 從客戶表中查詢出客戶名稱中沒有「公司」二字的客戶信息(使用NOT LIKE運算符)。
select * from 客戶where 客戶名稱not like '%公司%'
--14. 按產品的單價升序列出全部產品信息。
select *from 產品order by 單價
--15. 先按產品名稱排序,再按單價排序列出全部產品信息。
select * from 產品order by 產品名稱,單價
--16. 從產品表中查詢共有幾種產品。
select count ( distinct 產品名稱) as 產品總數from 產品
--17. 從訂購名細表中查詢德國乳酪的訂購總數
select sum (數量) as '訂購乳酪數量'
from 訂單明細
where 產品號in(select 產品號from 產品where 產品名稱='德國乳酪')
--18. 計算德國乳酪所有訂購的總金額
declare @a money
select @a=(select 單價from 產品where 產品名稱='德國乳酪')
declare @b int
select @b=(select sum (數量) as '訂購乳酪數量'
from 訂單明細
where 產品號in(select 產品號from 產品where 產品名稱='德國乳酪'))
declare @c int
select @c=@a*@b
select @c as 總金額
--19. 求所有訂購單的平均金額,在查詢結果中列出訂購單的個數和平均金額。
select 訂單均值= avg(單價*數量) ,訂單個數=count ( 訂單號)
from 訂單明細,產品
where 產品.產品號=訂單明細.產品號
--20. 求每個訂購單訂購的項目數和總金額。
select 訂單號, count (產品.產品號) as 項目數,sum(數量*單價) as 總金額
from 產品,訂單明細
where (產品.產品號=訂單明細.產品號)
group by 訂單號
--21.求每個客戶包含了德國乳酪訂購的訂單號及其最高金額和最低金額
select 客戶.客戶號,產品.產品號,數量*單價as 總金額
from 客戶,訂單,訂單明細,產品
where 客戶.客戶號=訂單.客戶號and 訂單.訂單號=訂單明細.訂單號and 訂單明細.產品號=產品.產品號and
產品名稱='德國乳酪'
order by 客戶號
compute max(數量*單價),min (數量*單價) by 客戶號
--22.求至少有兩個訂購項目的訂購單的平均金額
select 訂單號,avg(數量*單價),count(產品.產品號)
from 訂單明細,產品
where 訂單明細.產品號=產品.產品號
group by 訂單號
having count(產品.產品號)>=2
--23.找出尚未最後確定訂購單(即訂購日期為空值的記錄)的有關客戶信息
-- (客戶的名稱、聯系人和電話號碼)和訂單號
select 客戶名稱,聯系人,電話,訂單明細.訂單號
from 客戶, 訂單明細,訂單
where(客戶.客戶號= 訂單.客戶號) and 訂購日期=null
--24.找出在年月日之後簽訂的訂購單的客戶信息
--(客戶的名稱、聯系人和電話號碼)、訂單號和訂購日期
select 客戶名稱,聯系人,電話,訂單號,訂購日期
from 客戶,訂單
where 客戶.客戶號=訂單.客戶號
and year(訂購日期)>1996 and month(訂購日期)>4 and day(訂購日期)>2
--25.列出每類產品(相同名稱)具有最高單價的產品信息
--(產品號、名稱、規格說明和單價,提示:使用內外層互相關嵌套查詢)
select A.產品號, A.產品名稱, A.規格說明, A.單價
from 產品A
where 單價= (SELECT MAX(單價)
FROM 產品B
WHERE A.規格說明= B.規格說明)
--26.確定哪些客戶目前沒有訂購單(使用謂詞NOT EXISTS)
select *
from 客戶
where not exists (select* from 訂單where 客戶號=訂單.客戶號)
--27.查詢目前有訂購單的客戶的信息(使用謂詞EXISTS)
select *
from 客戶
where exists (select* from 訂單where 客戶號=訂單.客戶號)
--28.查詢符合條件的產品信息,要求該產品的單價達到了任
--意一款產品名稱為牛奶的單價的一半(使用ANY或SOME量詞)
select *
from 產品a
where(單價>any(select 單價/2 from 產品b where b.產品名稱='牛奶'))
--29.查詢符合條件的產品信息,要求該產品的單價大於任何
-- 一款產品名稱為牛奶的單價(使用ALL量詞)
select *
from 產品a
where(單價>all(select 單價from 產品b where b.產品名稱='牛奶'))
--30.設計如下的連接操作,並分析各自的特點:
-- •廣義笛卡兒積
SELECT *
FROM 客戶CROSS JOIN 訂購單
WHERE 客戶.客戶號= 訂購單.客戶號
-- •內連接
SELECT *
FROM 客戶INNER JOIN 訂購單
ON 客戶.客戶號= 訂購單.客戶號
-- •外連接
-- •左連接
SELECT *
FROM 客戶LEFT JOIN 訂購單
ON 客戶.客戶號= 訂購單.客戶號
-- •右連接
SELECT *
FROM 客戶RIGHT JOIN 訂購單
ON 客戶.客戶號= 訂購單.客戶號
-- •全連接
SELECT *
FROM 客戶FULL JOIN 訂購單
ON 客戶.客戶號= 訂購單.客戶號
說明:
1. 上機報告上傳到211.68.36.251的資料庫文件夾中的上傳目錄
2. 文件名的命名規則為:學號+姓名+實驗+序號。如:9724101汪偉的第二次上機報告名為:9724101汪偉實驗2
3. 封面由學生填寫;
4. 正文的實驗名稱、實驗目的、實驗內容、實驗要求已經由教師指定;
5. 實驗准備由學生在實驗或上機之前填寫;
6. 實驗過程由學生記錄實驗的過程,包括操作過程、遇到哪些問題以及如何解決等;
7. 實驗總結由學生在實驗後填寫,總結本次實驗的收獲、未解決的問題以及體會和建議等;
8. 將相關的語句粘貼到附錄中。
你自己改改吧。想要word原版的話再說一聲。
❼ 正在資料庫實驗考試,跪求SQL代碼
1,建立一個資料庫,在資料庫中建立如下三個表
create table 雇員
(雇員號 char(10) primary key,
姓名 char(20),
年齡 int,
地址 char(20),
薪水 money)
create table 部門
(部門號 char(10) primary key,
部門名 char(20) not null,
部門經理 char(20))
create table 工作
(雇員號 char(10),
部門號 char(10),
工作年限 int,
primary key (雇員號,部門號),
foreign key(雇員號) references 雇員(雇員號),
foreign key(部門號) references 部門(部門號))
2,向三個表中插入數據
insert
into employee
values(e01,tom,35,海淀,8000),
其餘數據插入方法相同
insert apartment
value(d01,人事,e04)
其餘同上
insert (e01,d02,6)
其餘同上
3,用SQL語句完成以下操作
(1)select employee_num,ename
from employee
where employee_num in
(select employee_num
from work
group by employee_num
having count(*)=3
);
(2)select sum(salary)
form employee ,apartment,work
where employee.employee_num=work.employee_num and apartment.apartment_num=work.apartment_num
group by apartment_num
order by sum(salary) desc;
(3)
❽ 設計1個SQL小實驗,幫忙給點思路
給你一個可以實踐的例子,可以先在企業管理器環境下操作,如果想練習T——SQL語句就在查詢分析器環境下做。
一、創建資料庫
二、創建資料庫包含的數據表:
在剛創建的資料庫內建立名為「員工」的數據表文件,其數據列的結構如下
列名 數據類型 長度 是否空
員工編號 Char(定長字元型) 4個位元組 主鍵
姓名 Varchar(可變長字元型) 20個位元組 √
性別 Char (定長字元型) 2個位元組 √
出生日期 Smalldatetime(短日期類型) √
工資 Smallmoney(小貨幣型)
在職否 Bit(邏輯類型) √ 默認值為1
三、向表中輸入數據
請向數據表「員工」中送入2行數據,如下
員工編號 姓名 性別 出生日期 工資 在職否
1001 張三 男 1978年1月1日 5000 1
1002 李四 女 1980年12月11日 4500 0
1003 王五六 女 1988年09月30日 3500 1
註:有其它需要再提