關於達夢資料庫高階查詢的一些基礎操作

2021-10-13 19:32:09 字數 3207 閱讀 3365

子查詢示例

小結達夢資料庫管理系統是達夢公司推出的具有完全自主智財權的高效能資料庫管理系統,簡稱dm。達夢資料庫管理系統的最新版本是8.0版本,簡稱dm8。

dm8採用全新的體系架構,在保證大型通用的基礎上,針對可靠性、高效能、海量資料處理和安全性做了大量的研發和改進工作,極大提公升了達夢資料庫產品的效能、可靠性、可擴充套件性,能同時兼顧oltp和olap請求,從根本上提公升了dm8產品的品質。

1.笛卡爾集查詢

select 列名列表 from 表 1

,表 2

;

2. 內聯接查詢
select 列名列表 from 表 1

,表 2

where 兩表關聯列條件表示式;

select 列名列表 from 表 1

inner

join

on 兩表關聯列條件表示式;

3. 外聯接查詢

a) 左外聯接查詢

select 列名列表 from 表 1

left

outer

join 表 2

on 兩表關聯列條件表達

b) 右外聯接查詢

select 列名列表 from 表 1

right

outer

join 表 2

on 兩表關聯列條件表示式;

c) 全聯接查詢

select 列名列表 from 表 1

full

join 表 2

on 兩表關聯列條件表示式;

where 子句子查詢: 將乙個查詢的結果作為另乙個查詢(更新)操作的條件

select 列名列表 from 表名 where 條件列 =|in

|notin(

子查詢)

[條件… 其他]

;

from 子句子查詢: 將乙個查詢的結果看做一張虛擬表提供給其他查詢使用

select 列名列表 from

(子查詢

) 臨時表名 [條件… 其他]

;

select 子句子查詢: 將乙個查詢的結果和其他查詢的結果進行組合

select 列名列表,

(子查詢

)from 表名 [條件… 其他]

;

使用多表內聯接(兩種方式)查詢使用者手機號碼、密碼、註冊時間、暱稱資訊

select u.phone,u.password,b.nick_name,b.reg_date,b.phone,

u.phone,b.phone

from i_user u inner

join i_basic b

on u.phone=b.phone;

select u.phone,u.password,b.nick_name,b.reg_date,b.phone,

u.phone,b.phone

from i_user u,i_basic b

where u.phone=b.phone;

select b.phone,b._name,g.goods_title,g.ammount,g.price

from i_basic b,i_cart c,i_goods g

where b.phone=c.phone and g.goods_id=c.goods_id

3.查詢顯示所有型別的商品,如果某個型別沒有對應的商品則顯示為空

4. 請用子查詢查詢年齡最小的使用者的基本資訊

5. 請用子查詢查詢所有商品以及該商品所屬的一級型別名稱

select goods_id,goods_title,

(select category_name from i_category where

category_id=

(select parent_id from i_category

where category_id=g.category_id

)) 一級型別名稱 from i_goods g;

6. 分頁查詢訂單編號、使用者身份證號、商品名稱、商品資料量、總價,要求每頁顯示 7 條,顯示第 5 頁的資料

能用多表聯查方式實現的查詢使用子查詢一定能夠實現,但是使用子查詢實現的查詢使用多表聯查不一定能夠實現,在實際專案業務中根據業務需求靈活使用多表聯查和子查詢。

達夢資料庫的一些理解

經過一段時間的達夢資料庫的培訓發現,跟其他資料庫還是有很多區別的,根據自己的理解,現在整理一下。1 登陸的區別 oracle 如果sys的密碼忘記可以用作業系統驗證方式登陸修改密碼。dm 達夢資料庫如果忘記了sysdba的密碼則無法登陸。2 資料庫的狀態 oracle oracle的狀態有shutd...

EF CodeFirst關於資料庫的一些基本操作

一 資料庫初始化策略 資料庫初始化有4種策略 策略一 資料庫不存在時重新建立資料庫 database.setinitializer new createdatabaseifnotexists 策略二 每次啟動應用程式時建立資料庫 database.setinitializer new dropcre...

達夢資料庫查詢多表聯查

小結 select 列名列表 from 表 1,表 2 where 兩表關聯列條件表示式 select 列名列表 from 表 1 inner join on 兩表關聯列條件表示式 外連線可分為 左連線 右連線 完全外連線。左外連線 左外連線包含left join左表所有行,如果左表中某行在右表沒有...