笛卡爾積
笛卡爾乘積是指在數學中,兩個集合X和Y的笛卡爾積(Cartesian product),又稱直積,表示為X×Y,第一個物件是X的成員而第二個物件是Y的所有可能有序對的其中一個成員[3] 。
假設集合A={a, b},集合B={0, 1, 2},則兩個集合的笛卡爾積為{(a, 0), (a, 1), (a, 2 ), (b, 0), (b, 1), (b, 2)}。
相關免費學習推薦:mysql影片教學
# 連結
select 字段 from 表1 别名1 [inner] join 表2 别名2 on 连接条件 and 其他条件;select 字段 from 表1 别名1,表2 别名2 where 连接条件 and 其他条件;
外連接
外部連接分為左外連接和右外連接。如果聯合查詢,左側的表完全顯示我們就說是左外連接;右側的表完全顯示我們就說是右外連接。
--左外连接,表1完全显示select 字段名 from 表名1 left join 表名2 on 连接条件;-- 右外连接,表2完全显示select 字段 from 表名1 right join 表名2 on 连接条件;
自連接
涉及到行與行之間的比較時,就需要自連結了
範例:顯示所有「電腦原理」成績比「Java」成績高的成績資訊
-- 先查询“计算机原理”和“Java”课程的idselect id,name from course where name='Java' or name='计算机原理';-- 再查询成绩表中,“计算机原理”成绩比“Java”成绩 好的信息SELECTs1.*FROMscore s1,score s2WHEREs1.student_id = s2.student_idAND s1.score <pre class="brush:php;toolbar:false">-- 也可以使用join on 语句来进行自连接查询SELECTs1.*FROMscore s1JOIN score s2 ON s1.student_id = s2.student_idAND s1.score <p><strong>子查詢</strong></p><p>子查詢是指嵌入在其他sql語句中的select語句,也叫巢狀查詢。 <br> 單行子查詢:傳回一行記錄的子查詢<br> 案例:查詢與「小白」 同學的同班同學:</p><pre class="brush:php;toolbar:false">select * from student where classes_id=(select classes_id from student wherename='小白');
多行子查詢:傳回多行記錄的子查詢
合併查詢
為了合併多個select的執行結果,可以使用集合運算子union,union all。使用UNION
和UNION ALL時,前後查詢的結果集中,欄位需要一致。
union
此運算子用於取得兩個結果集的並集。當使用該運算元時,會自動移除結果集中的重複行。
案例:查詢id小於3,或名字為「英文」的課程:
select * from course where id<p><strong>union all</strong><br> 此運算子用於取得兩個結果集的並集。當使用該運算元時,不會去掉結果集中的重複行。 <br> 案例:查詢id小於3,或名字為「Java」的課程:</p><pre class="brush:php;toolbar:false">-- 可以看到结果集中出现重复数据Javaselect * from course where id<blockquote><p><strong>#相關免費學習推薦:</strong><a href="https://www.php.cn/course/list/51.html" target="_blank">##mysql資料庫<strong></strong></a>(影片)<strong></strong></p></blockquote>
以上是詳解MySQL 聯合查詢 (IN和EXISTS區別)的詳細內容。更多資訊請關注PHP中文網其他相關文章!