資料庫基礎知識總結(轉)
資料庫基礎知識:
(1)關聯查詢
1)橫向關聯查詢:
a、inner join:內關聯,只組合資料表中匹配項相等的行。 select * from tbl inner join tb2 on tb1.id=tb2.id
b、left join:左關聯,以左面所關聯表為基準,左面記錄全部顯示,右面表中不能匹配上的補null。
c、right join:左關聯,以右面所關聯表為基準,右面記錄全部顯示,左面表中不能匹配上的補null
d、full join: 左關聯 + 有關聯(兩個表中的記錄相加),不匹配的全部顯示
e、cross join: 左關聯 * 右關聯(兩個表中的記錄相乘),不需要條件(不要加on)
注:cross join可用在統計資料中,為每行記錄新增小計,
如:declare @cnt int
set @cnt=5
select * from tb inner join select @cnt
2)縱向關聯查詢:
union all:
例如:
declare @tb table(id int primary key identity(1,1),name nvarchar(10),salary decimal(10,2))
insert @tb select 'aa',120.5
union all 'bb',455.12
union all 'cc',500.5
注:新增資料時,去掉all,會去掉新增記錄中重複的記錄。
3)巢狀子查詢:關鍵字 in exists-----(去掉重複記錄)
in(資料集合)
例如:
select * from so where soid in(selet soid from sod where prodid=1) ---查詢所有購買了產品1的訂單
exists(資料集合)
select * from so a where exists(select soid from sod b where a.soid=b.soid and b.prodid=1)
注:exists 使用過程中,資料集合中查詢的表要和外面的表相關聯,如sod和so的關聯。
4)T-SQL語句:case when ------相當與程式語言中的swith語句
例如:
declare @cnt int
set @cnt=2
case @cnt
when 1 then '結果等於1'
when 2 then '結果等於2'
else '不知道' end
-------另一種書寫方式-----
case when @cnt=1 then '結果等於1'
when @cnt=2 then '結果等於2'
else '不知道' end
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-672326/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 夯實基礎系列三:資料庫知識總結資料庫
- 資料庫基礎知識整理與複習總結資料庫
- 資料庫基礎知識資料庫
- 基礎知識梳理~資料庫資料庫
- 資料庫基礎重要知識資料庫
- GEO資料庫基礎知識資料庫
- 資料結構基礎知識資料結構
- Java基礎知識總結Java
- React 基礎知識總結React
- 索引基礎知識總結索引
- MySql基礎知識總結MySql
- php基礎知識總結PHP
- JavaSE基礎知識總結Java
- Rust 基礎知識總結Rust
- 資料庫基礎知識介紹!資料庫
- 資料庫基礎知識講解資料庫
- NoSQL資料庫的基礎知識SQL資料庫
- 達夢資料庫基礎知識(二)資料庫邏輯結構資料庫
- 資料庫安全基礎入門知識簡介(轉)資料庫
- JS基礎知識深入總結JS
- ES 基礎知識點總結
- Java基礎知識點總結Java
- Java基礎知識總結-1Java
- Redis 基礎知識點總結Redis
- SpringIOC基礎知識總結Spring
- CSS基礎知識點總結CSS
- cocosCreator基礎知識總結
- 【JavaScript的基礎知識總結】JavaScript
- Jsp基礎知識總結JS
- TCP/IP 基礎知識總結TCP
- CSS基礎知識總結(4)CSS
- JS基礎知識總結(1)JS
- JS基礎知識總結(2)JS
- 達夢資料庫基礎知識(一)資料庫物理儲存結構資料庫
- 資料庫安裝以及基礎知識資料庫
- 小白系列:資料庫基礎知識解析資料庫
- 公共基礎知識-資料結構-樹資料結構
- yii2 基礎知識總結