日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

09--MySQL自学教程:多表查询之内连接、外连接以及【子查询】

發布時間:2025/3/20 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 09--MySQL自学教程:多表查询之内连接、外连接以及【子查询】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.為什么要拆表?

去除冗余數據

2.表與表之間的關系

一對一比如人和身份證QQ和QQ密碼 一對多(多對一)比如:學生和成績的關系 多對多比如:老師和學生的關系

3.多表查詢

使用的表格demo1student、demo2和demo3數據如下:

1)合并結果集

sql語句

-- 合并結果集 union和union all-- union 默認會去除完全一樣的數據 SELECT * FROM demo2 UNION SELECT * FROM demo3;-- union all 不會去除重復數據 SELECT * FROM demo2 UNION ALL SELECT * FROM demo3;

查詢結果:
1)– union 默認會去除完全一樣的數據

SELECT * FROM demo2 UNION SELECT * FROM demo3;

2)– union all 不會去除重復數據

SELECT * FROM demo2 UNION ALL SELECT * FROM demo3;

2)連接查詢

a.笛卡爾積

b.內連接inner

sql語句

-- 內連接 -- 將demo2和demo1student中分數相同的數據取出來合并在一起 SELECT * FROM demo2 INNER JOIN demo1student ON demo2.score=demo1student.score; -- 將demo2和demo1student中id相同的數據取出,并且只顯示這些信息:demo1student.id,demo1student.name,demo1student.age,demo1student.gender -- 因為demo2和demo1student有3個id相同,所以會查詢出三個數據 SELECT demo1student.id,demo1student.name,demo1student.age,demo1student.gender FROM demo2 INNER JOIN demo1student ON demo2.id=demo1student.id;

查詢結果:
1)– 將demo2和demo1student中分數相同的數據取出來合并在一起

SELECT * FROM demo2 INNER JOIN demo1student ON demo2.score=demo1student.score;

2)– 將demo2和demo1student中id相同的數據取出,并且只顯示這些信息:demo1student.id,demo1student.name,demo1student.age,demo1student.gender

– 因為demo2和demo1student有3個id相同,所以會查詢出三個數據

SELECT demo1student.id,demo1student.name,demo1student.age,demo1student.gender FROM demo2 INNER JOIN demo1student ON demo2.id=demo1student.id;

c.外連接outer

select * from table1 left/right outer join table2 on 條件

d.自然連接natural

對比內連接和自然連接來說明:自然連接
自然連接可以自動去除重復這里是id

sql語句

-- 自然連接natural SELECT * FROM demo2 INNER JOIN demo3; -- 內連接 SELECT * FROM demo2 NATURAL JOIN demo3; -- 自然連接

查詢結果

3)子查詢

sql語句

-- 子查詢 -- 語句含義:查出分數比id=4學生的年齡與分數和大的學生信息 SELECT * FROM demo1student WHERE score>(SELECT age+score FROM demo1student WHERE id=4);-- 這里只是為了說明子查詢怎么用,出的這個示例本身沒有任何意義。

查詢結果:

4.查詢的實際應用(見下節)

地址:MySQL數據查詢應用(實戰)(一)http://blog.csdn.net/baidu_37107022/article/details/72629784
MySQL數據查詢應用(實戰)(二)http://blog.csdn.net/baidu_37107022/article/details/72630044

總結

以上是生活随笔為你收集整理的09--MySQL自学教程:多表查询之内连接、外连接以及【子查询】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。