1、什麼使用使用
例如:現在需要統計超市每個商品每月賣了多少
商品表(商品編號,商品名稱)
銷售表(商品編號,銷售數量,月份)
select a.商品名稱, sum(b.銷售數量), b.月份
from 商品表 a, 銷售表 b
where a.商品編號 = b.商品編號
group by b.月份, b.商品編號
上面沒有統計到未賣出去的商品。
這種情況就需要使用到左連線或右連線。
select a.商品名稱, isnull(sum(b.銷售數量), 0), b.月份
from 商品表 a left join 銷售表 b
on a.商品編號 = b.商品編號
group by b.月份, b.商品編號
注:未賣出去的商品為null
2、連線的分類
內連線:典型的連線運算
外連線:在from子句中外連線可以是左向外連線、右向外連線或完整外部連線
left join 或 left outer join
將返回左表的所有行。如果左表的某行在右表中沒有匹配行,則將為右表返回空值。
right join 或 right outer join
將返回右表的所有行。如果右表的某行在左表中沒有匹配行,則將為左表返回空值。
交叉連線:交叉連線返回左表中的所有行,左表中的每一行與右表中的所有行組合。交叉連線也稱作笛卡爾積。
例子:a表 b表
id 姓名 id 年齡 parent_id
1 張三 1 18 1
2 李四 2 22 2
3 王二 3 20 4
a.id和b.parent_id存在關係
1)內連線
select a.*, b.* from a inner join b on a.id = b.parent_id
結果:
id 姓名 id_1 年齡 parent_id
1 張三 1 18 1
2 李四 2 22 2
2)左連線
select a.*, b.* from a left join b on a.id = b.parent_id
結果:
id 姓名 id_1 年齡 parent_id
1 張三 1 18 1
2 李四 2 22 2
3 王二 null null null
3)右連線
select a.*,b.* from a right join b on a.id=b.parent_id
結果:
id 姓名 id_1 年齡 parent_id
1 張三 1 18 1
2 李四 2 22 2
null null 3 20 4
4)完全連線
select a.*,b.* from a full join b on a.id=b.parent_id
結果:
id 姓名 id_1 年齡 parent_id
1 張三 1 18 1
2 李四 2 22 2
3 王二 null null null
null null 3 20 4
檢視埠的使用情況
開始 執行 cmd 進入命令提示符 輸入netstat ano 即可看到所有連線的pid 之後在任務管理器中找到這個pid所對應的程式如果任務管理器中沒有pid這一項,可以在任務管理器中選 檢視 選擇列 經常,我們在啟動應用的時候發現系統需要的埠被別的程式占用,如何知道誰占有了我們需要的埠,很多人都...
檢視埠的使用情況
1 使用natstat命令 檢視埠號 2 antp引數的含義 2.1 p是program netstat p 可以與其它開關一起使用,就可以新增 pid 程序名稱 2.2 a是all netstat a就是顯示所有的socket。2.3 n是numeric 直接使用ip位址,而不通過網域名稱伺服器。...
Oracle表空間檢視sql使用情況
dba在日常工作中,最重要的一點就是檢視表空間的使用情況,去了解是否有表空間滿了的情況出現。具體方法和步驟如下所示 第一步 開啟plsql 第二步 新建乙個sql視窗 第三步 輸入 select a.tablespace name tablespace n程式設計客棧ame nvl ceil 1 b...