多表查詢資料庫

2021-07-25 22:11:02 字數 1672 閱讀 7898

在專案中建立資料庫的時候,我們經常會進行多表查詢。資料庫中建立乙個表應該與乙個實體類相對應。乙個實體物件應該與一條記錄相對應。

資料庫是一種結構化的查詢語言,資料庫語言是非過程化的,寫一句就可以執行一句。進行建表的時候,如果是一對多的關係,應該在多的一方建立乙個字段。

該字段為少的一方的id。進行建表的時候如果是多對多的關係,要建立乙個第三中表,中間表至少需要兩個字段作為外來鍵。

使用sql語句完成多表查詢

現在有兩個表    movie_tb和 

交叉連線獲取兩個表的笛卡爾積

顯示內連線

select * from movie_tb m inner join ticket t on m.id=t.moi

d;-- 

隱式內連線

-- 外連線

-- 左外連線

交叉部分和

左邊全部

--右外連線

子查詢

乙個sql語句查詢的過程需要依賴另乙個查詢語句

select * from movie_tb m,ticket t  where m.id=t.moid and t.moidin (select moid from ticket where showflag=0);

可以是in也可以是like  >

或者其他字元

子查詢進行票查詢

select  m.title m,count(*) from movie_tb m , ticket t where m.id=t.moid group by title;

進行分組查詢後,用

count

才能統計票數。如果是查詢某一種

進行資料庫查詢的時候,很多時候會涉及到跨表查詢,這些語句結合聚合函式,會方便我們進行查詢。

資料庫多表查詢

笛卡爾積 select from emp,dept select from emp cross join dept 內連線 inner join 內連線把兩個表連線成乙個表 稱為第三個表 在這個表中僅包含那些滿足連線條件的記錄行 select from emp,dept where emp.dept...

資料庫多表查詢 子查詢

子查詢 查詢中巢狀查詢,稱巢狀巢狀查詢為子查詢 下面要使用的表如下,放在此處便於更好地理解 emp 員工資訊表 dept 部門表 例 查詢公司員工工資最高的員工資訊 首先要得到公司員工的最高工資的值 select max salary from emp 假設查詢結果為10000然後根據上一句sql語...

oracle 資料庫 多表查詢

這裡以oracle 自帶的表為例項 1.等值連線 查詢員工資訊 員工號 姓名 月薪 部門名稱 select e.empno,e.ename,e.sal,d.dnamefrom emp e,dept d where e.deptno d.deptno e d 分別 值兩個表的別名,等值條件 為 dep...