1、外來鍵約束建立的時候遇到問題以及相關的解決辦法(要求有錯誤截圖)
問題:emp表中deptno設定了外來鍵約束,當dept表中沒有50部門時,往emp表插入deptno=50的一組資料,會報如上錯誤。
解決辦法:
先往dept表中插入部門編號為50的資料
insert into dept values(50,』cleck』,』beijing』);
然後再在emp表中插入資料
insert into emp (empno,ename,deptno) values (7940,』dwa』,50);
問題:deptno設定了外來鍵約束,deptno=10的資訊兩個表中都有,當刪除父表中deptno=10的資訊時會報如上錯誤。
解決辦法:先刪除子表emp中deptno=10的資訊。
問題:刪除deptno主鍵時,由於deptno被emp外來鍵引用,會報如上錯誤
解決辦法:先刪除emp表中的外來鍵約束,再來刪除dept表的主鍵約束
問題:當所需關聯的表中資料沒有建主鍵約束的時候,設定外來鍵約束會報如上錯誤。
解決辦法:先在關聯表中建立主鍵約束,再建立外來鍵約束。
2、怎樣得到乙個字串中字母a的個數?寫出乙個方法即可
select length(『addsaad』)-length(replace(『addsaad』,』a』,」)) from dual;
3、怎麼把這樣乙個表
year month amount
1991 1 1.1
1991 2 1.2
1991 3 1.3
1991 4 1.4
1992 1 2.1
1992 2 2.2
1992 3 2.3
1992 4 2.4
查成這樣乙個結果
year m1 m2 m3 m4
1991 1.1 1.2 1.3 1.4
1992 2.1 2.2 2.3 2.4
create table time (year number(4),month number(2),amount number);
select * from time;
insert into time values(1991,1,1.1);
insert into time values(1991,2,1.2);
insert into time values(1991,3,1.3);
insert into time values(1991,4,1.4);
insert into time values(1992,1,2.1);
insert into time values(1992,2,2.2);
insert into time values(1992,3,2.3);
insert into time values(1992,4,2.4);
select year,
sum(decode(month,1,amount,0)) m1,
sum(decode(month,2,amount,0)) m2,
sum(decode(month,3,amount,0)) m3,
sum(decode(month,4,amount,0)) m4
from time group by year;
–各種工作在各個部門的人數是多少
job 10 20 30 總計
sales 1 3 1 5
select
job,
sum(decode(deptno,10,1,0)) 「10」,
sum(decode(deptno,20,1,0)) 「20」,
sum(decode(deptno,30,1,0)) 「30」,
sum(decode(deptno,10,0,20,0,30,0,1))其他部門,
count(*) total
from emp
group by job
4.有一張表,裡面有2個字段:課程名稱,成績。
其中有3條記錄分別表示語文70分,數學80分,英語58分,
請用一條sql語句查詢出這三條記錄並按以下條件顯示出來:
大於或等於80表示優秀,大於或等於60表示及格,小於60分表示不及格。
顯示格式:
語文 數學 英語
及格 優秀 不及格
create table table1 (cname varchar2(10),score number(3));
select * from table1;
insert into table1 values(『語文』,70);
insert into table1 values(『數學』,80);
insert into table1 values(『英語』,58);
select max(case when cname=』語文』 and score>=80 then 『優秀』
when cname=』語文』 and score>=60 then 『及格』
when cname=』語文』 and score<60 then 『不及格』
else null end) 語文,
max(case when cname=』數學』 and score>=80 then 『優秀』
when cname=』數學』 and score>=60 then 『及格』
when cname=』數學』 and score<60 then 『不及格』
else null end) 數學,
max(case when cname=』英語』 and score>=80 then 『優秀』
when cname=』英語』 and score>=60 then 『及格』
when cname=』英語』 and score<60 then 『不及格』
else null end) 英語
from table1;
select max(case
when cname =』語文』 and score >=80 then 『優秀』
when cname =』語文』 and score >=60 then 『及格』
when cname =』語文』 and score <60 then 『不及格』
end) 語文,
max( case
when cname =』數學』 and score >=80 then 『優秀』
when cname =』數學』 and score >=60 then 『及格』
when cname =』數學』 and score <60 then 『不及格』
end) 數學,
max( case
when cname=』英語』 then
case when score>=80 then 『優秀』
when score>=60 then 『及格』
when score<60 then 『不及格』
end
end) 英語
from table1;
5、乙個日期判斷的sql語句請取出tab5表中日期(sendtime欄位)為當天的所有記錄?
select * from tab5 where to_char(sendtime,』yyyymmdd』)=to_char(sysdate,』yyyymmdd』)
6、顯示員工表中資料資訊,要求每四條資料為一頁,顯示第三頁的資料資訊
select * from (
select ename,sal,deptno,
ceil(rownum/4) page
from emp) where page=3;
select * from
(select e.*,rownum r from emp e
where rownum<=4*3)
where r>(3-1)*4;
python核心程式設計第二章練習答案
迴圈和操作符 自己定義乙個列表的較簡單,下面的答案是使用者自己輸入列表 方法一sb 後來發現這種方法只能處理0 9的數字 方法二 但是這種只能每次輸入乙個數字 1 print 1 取五個數的和 n2 取五個數的平均值 nx 退出 option input please input your opti...
AC 第二章答案
2 1 將pad的值改為0即可,其他不做任何變動。2 2 將pad分解為行空白數與列空白數,因此在對行進行計數和對列進行計數時將分別進行,不會發生衝突。2 3 源 include include using std cin using std endl using std cout using st...
第二章 練習。
1.正因子問題。include include int main printf d count return 0 注意 if if 如果是 if n i 0 count if i n i count 會比正確結果多一。可以用以下程式檢驗,看中間結果。include include int main ...