01 02SQL高階及查詢練習之表關係

2021-10-04 17:31:28 字數 1163 閱讀 7575

在表中建立一對一關係比較特殊,,需要讓其中一張表的主鍵,既是主鍵又是外來鍵。

create

table husband(

hid int

primary

key,..

.);create

table wife(

wid int

primary

key,..

.constraint fk_wife_husband foreign

key(wid)

references husband(hid)

);

(1)wife表的wid既是主鍵又是相對於husband表的外來鍵。

(2)husband.hid是主鍵,不能重複。

(3)wife.wid是主鍵,不能重複,又是外來鍵,必須來自husband.hid。

所以如果在wife表中有一條記錄的wid為1,那麼wife表中的其他記錄的wid就不能再是1了,因為它是主鍵,同時在husband.hid中必須存在1這個值,因為wid是外來鍵,這就完成了一對一關係。

綜上,從表的主鍵就是外來鍵可以實現一對一關係。

在表中建立多對多關係需要使用中間表,即需要三張表,在中間表中使用兩個外來鍵,分別引用其他兩個表的主鍵。

create

table student(

sid int

primary

key,..

.);create

table teacher(

tid int

primary

key,..

.);create

table student_teacher(

sid int

, tid int

,constraint fk_student_teacher_sid foreign

key(sid)

references student(sid)

,constraint fk_student_teacher_tid foreign

key(tid)

references teacher(tid)..

.);

這時在student_teacher這個中間表中的每條記錄都是來說明student和teacher表的關係。

SQL高階查詢

1建立乙個儲存過程,當工資大於8000的,工資減一成,否則加一成工資 2建立乙個函式,輸入學生學號,返回成績 student id,name,score 3查詢員工的工資,當工資大於2000時,顯示該工資 但工資低於2000,則加200元工資,然後再輸出 4求1 2 i,一直加到總和 6000,並求...

SQL高階查詢

案例1 查詢學生表中比 微冷的雨 小的學員資訊 姓名,位址 轉化成找出出生日期比 微冷的雨 大的日期 select from student 別人要什麼,我們給什麼 select from student where birthday select birthday from student whe...

關於SQL高階查詢

關於sql高階查詢 if request btype id then sql sql btype id request btype id and if request stype id then sql sql stype id request stype id and if request tna...