Mysql實現多表full join

2021-09-29 10:39:52 字數 1512 閱讀 4371

mysql是不支援full join操作的,但是確實有這個需求應該怎麼處理?

-- 學生報名參加的課程表

insert into test_course(student, course) values

('楊過','體育課'),

('小龍女','舞蹈課'),

('郭靖','語文課'),

('黃蓉','高數課');

-- 學生報名參加的社團

insert into test_community(student, community) values

('楊過','圍棋社'),

('周伯通','功夫社'),

('郭靖','圍棋社'),

('黃蓉','演講社');

-- 使用left join 和right join + union 實現

新的需求:求出所有學生參加的課程、社團和選擇的拿手**分別是什麼

1.資料準備

-- 每個人使用的**

insert into test_weapon(student, weapon) values

('楊過','玄鐵重劍'),

('周伯通','打狗棒'),

('張無忌','屠龍刀'),

('陳家洛','青蛇劍'),

('黃蓉','峨嵋刺');

2.查詢sql

-- 先查出全量的student再進行left join

select

stu.student,

co.course,

cu.community,

we.weapon

from

( select student from test_course

union

select student from test_community

union

select student from test_weapon ) stu

left join test_course co on stu.student = co.student

left join test_community cu on stu.student = cu.student

left join test_weapon we on stu.student = we.student

mysql多表分析 MySQL 多表查詢實現分析

1 檢視第乙個表 mytable 的內容 mysql select from mytable name birth birthaddr abccs f 1977 07 07 china mary f 1978 12 12 usa tom m 1970 09 02 usa 2 建立第二個表 title...

Mysql多表查詢的實現

查詢是資料庫的核心,下面就為您介紹mysql多表查詢時如何實現的,如果您在mysql多表查詢方面遇到過問題,不妨一看。mysql多表查詢 create table if not exists contact contact id int 11 not null auto increment,user...

mysql多表 MySQL 多表查詢

多表查詢 select listname from tablename1,tablename2 笛卡爾積 多表查詢中,如果沒有連線條件,則會產生笛卡爾積 數學中的定義 假設集合a 集合b 則兩個集合的笛卡爾積為 實際執行環境下,應避免使用笛卡爾積 解決方案 在where加入有效的連線條件 等值連線 ...