MySQL之多表查詢

2022-06-03 11:12:08 字數 1284 閱讀 1419

現在有兩個表,分別為department表和employee表,他們之間是沒有外來鍵關係的。

兩個表分別有以下資料。

我們可以通過笛卡爾積得到乙個新的虛擬的表。

我們得到這個表之後,就可以用這錶取我們想要的資料。比如拿到技術部門的員工名字

其實鍊錶查詢和笛卡爾積差不多,只是笛卡爾積的鍊錶和查詢放在了一起,邏輯不是很好,但鍊錶就把鍊錶和查詢分開的。主要分為四種。

上面的四種方法可以幫我們建立乙個虛擬的表,得到這錶之後我們就可以進行查詢。

子查詢就是先對乙個表查詢得到乙個值,然後我們把這個值作為下乙個表查詢的約束條件用。

對於第乙個得到的結果可以是幾個值,所以我還可以使用in,!=,,not ,exists

exists的用法:select * from employee where exists ..............此處的省略可以跟任意,只要省略的內容不為零就會執行前面的**,不然前面的**就不會執行。

MySql之多表查詢

select e.empname,d.deptname from emp e,dept d where e.deptno d.deptno select e.empname d.deptname from emp e inner join dept d on e.deptno d.deptno se...

MySQL之多表查詢

1合併結果集,使用關鍵字union和union all,其區別是union會去掉合併中重複的部分而union all不會去掉重複的列。使用這個關鍵字的要求結果姐的列和型別必須相同。定義兩個表如下所示 a和b,兩個表分別有乙個整型的id和乙個字串的name。1.1使用union all 1.2使用un...

MySQL之多表查詢

準備資料 user info表 create table user info id int 2 primary key,user name varchar 12 unique,password varchar 15 not null,real name varchar 8 not null,age ...