連線:
為什麼需要連線?:因為我們需要的資料在不同的表中
內連線:
select 列a from 表a inner join 表b on 條件1=條件2
在內連線中可以省去 inner
注:on 必須和join 一起出現 他沒有單獨存在的意義
外連線:
left join :左連線
right join: 右連線
full join :全外連線 注:在mysql中 並不支援
自連線:
select 列名 from 表a jion 表a on 條件
/*內連線:
基本語法:select 列a from 表a inner(inner可以省略) join 表b on 條件=條件
注:這裡的 on 必須和join 一起出現 他沒有單獨存在的意義
*//*查詢每乙個員工的領導是誰?*/
/*使用join on 內連線查詢資料*/
/*select e.ename,e2.ename from emp e join emp e2 on e.mgr=e2.empno*/
/*使用子查詢同樣可以做到*/
select e2.ename as 員工,(select e.ename from emp e where e.empno=e2.mgr) as 領導 from emp e2
/*查詢每個員工屬於哪個部門 並且顯示部門的詳細資訊
員工的資訊和部門資訊不在乙個表中 所以會涉及到兩表聯查*/
/*首先使用join 查詢*/
/*select * from emp e join dept d on e.deptno=d.deptno*/
/*然後使用第二種方法 where 查詢 不使用 join */
select * from emp e ,dept d where e.deptno=d.deptno
/*使用 where 方法查詢使用的時間會更少 */
/*外連線:
left join 左連線 左表有資料而右表沒有資料 他還是會顯示左表的資料
但是右表資料的位置為null
right join 右連線 與左連線相反
full join 全外連線 在mysql種沒有此方法
*//*使用左連線來查詢
select * from emp e left join dept d on e.deptno=d.deptno
在右表 dept 位置沒有資料的時候顯示為 null 但是左表依然會顯示*/
/*select * from emp e join dept d on e.deptno=d.deptno
然而 join方法 只要一方為 null 左右資料都不會顯示
*//*使用右連線來查詢
select * from emp e right join dept d on e.deptno=d.deptno
在左表 emp 位置沒有資料的時候 左表全部資料都為 null 右表資料還是會顯示
*/在資料庫中會涉及到多表聯查 有兩種方法可以使用 ①:join ②:where
使用 inner join 方法:
select * from 表a join 表b on 條件a=條件b join 表c on 條件c=條件d
注:查表c 的時候不能寫在 表b後面 而是應該 跟在 on 條件以後
使用 left join 方法:
select * from 表a left join 表b on 條件a=條件b left join 表c on 條件c=條件d
注:右查詢和inner join 差不多 只是 inner join是內查詢 而 left join 是外查詢
使用 where 方法:
select * from 表a,表b where 條件a and 條件b
資料庫連線
第一,設定允許遠端連線,允許sql server驗證 第二,建立登陸帳戶並授權 第三,註冊sql server資料庫 c windows microsoft.net framework v2.0.50727 下執行 aspnet regsql 指令 data server sqlexpress in...
資料庫連線
php host localhost host name db user root mysql username db password root mysql password db name table database name connect to server and select data...
資料庫連線
1.c 連線連線access 程式 using system.data using system.data.oledb string strconnection provider microsoft.jet.oledb.4.0 strconnection data source c begaspne...