先進行查詢操作
刪除沒有學習任何課程的同學
學生表,課程表
select
*from stu as s
left
join stu_lesson as sl
on s.id = sl.stu_id
where sl.stu_id is
null
然後把這個表刪除
把 select
* 換成 delete s //s表示最後合併後的這個表,最後將這個表中沒有學習任何課程的同學刪除
乙個學生可以參加多個課程,乙個課程可以對應多個學生,
所以二者之間的關係需要中間表進行連線 stu_lesson
哪個班的同學更喜歡php
班級表,學生表,課程表,stu_lesson表
select
*from class as c
inner
join stu as s
on c.id = s.class_id
inner
join stu_lesson as sl
on s.id = sl.stu_id
inner
join lesson as l
on sl.lesson_id = l.id;
在將select
* 換成查詢條件 select c.id
相比inner join 來說 left join和right join 可以合併不符合匹配條件的null資訊,提供更多select結果
對同乙個表設定不同的別名
查詢學生表中,和李明同一班的學生
select
*from stu as s1
inner
join stu as s2
on s1.class = s2.class
where s1.name =
'李明'
and s2.name !=
'李明'
;
多對多關係
實體模型中相關的模型之間為了方便查詢需要做到你中有我 我中有你 一對多表設計上是在多方應用少方的主鍵作為外來鍵約束 模型上需要在多方加入乙個少方模型物件的屬性,在少方加入乙個多方物件的列表 語法 少方物件 db.relationship 少方模型名 backref db.backref xxlist...
多對多關係的多表關聯查詢
出處 下面我就舉個比較好理解的例子來說明這個概念。學生和學生所選的選修課之間的關係,就符合多對多的關係,怎麼理解呢?乙個學生可能會選擇多門選修課,而,一門選修課則可能會對應多個學生,下面我以此為例子來說明這個問題。alter table stu ref sub add constraint fk s...
Flask sqlalchemy多對多關係
from flask import flask from flask sqlalchemy import sqlalchemy article tag db.table article tag db.column article id db.integer,db.foreignkey article...