sql 刪除記錄及與其關聯的其他記錄

2021-07-23 12:16:04 字數 908 閱讀 7083

假設現在有學生表students,成績表score。屬性如下
students表: ,studentid,年齡……

scores表:studentid,科目,分數……。

現在要刪除其中乙個學生的記錄,那麼同時也需要刪除這個學生的成績:

第一種刪除方式是:

delete student.*,score.* 

from students student

left

join scores as score student.studentid = score.studentid

where student.studentid = 學號

left join的好處在於如果這個學生沒有分數記錄,就只會刪除這個學生的記錄,如果有多條分數記錄,那麼就會刪除這個學生的所有分數記錄。

第二種刪除方式使用inner join:

delete student.*,score.* 

from students student

inner

join scores as score student.studentid = score.studentid

where student.studentid = 學號

這個刪除,如果學生沒成績,學生的資訊刪除不了。

第三種:

delete student.*,score.* 

from students studen, scores score

where student.studentid = 學號 and student.studentid = score.studentid

這個刪除也是,如果學生沒成績,學生的資訊刪除不了。

MQTT介紹及與其他協議的比較

mqtt message queuing telemetry transport,訊息佇列遙測傳輸 一種針對移動終端裝置的基於tcp ip的發布 訂閱協議 可以連線大量的遠端感測器和控制裝置 mqtt的特點是可以保持長連線,具有一定的實時性 要保持長連線,那麼就要不時地傳送心跳包,這就不會省電 特點...

python語言的優點及與其他語言相比

是用來定義電腦程式的形式語言。我們通過程式語言來編寫程式 再通過語言處理程式執行向計算機傳送指令,讓計算機完成對應的工作。簡單來說,程式語言就是人類和計算機進行交流的語言。python就是一門程式語言,而且是現在世界上最流行的程式語言之一。python是一門語法簡潔優美,功能強大無比,應用領域非常廣...

Redis生成主鍵的優點及與其他生成主鍵方式的對比

使用redis生成主鍵的優點及與其他生成主鍵方式的對比 redis生成id 當使用資料庫來生成id效能不夠要求的時候,我們可以嘗試使用redis來生成id。這主要依賴於redis是單執行緒的,所以也可以用生成全域性唯一的id。可以用redis的原子操作 incr和incrby來實現。可以使用redi...