Teradata 子查詢

2018-01-12 11:25 更新

子查詢基于另一個表中的值從一個表返回記錄。 它是另一個查詢中的SELECT查詢。 作為內(nèi)部查詢調(diào)用的SELECT查詢將首先執(zhí)行,結(jié)果將由外部查詢使用。 它的一些突出特點是 -

  • 查詢可以有多個子查詢,子查詢可以包含另一個子查詢。

  • 子查詢不返回重復(fù)記錄。

  • 如果子查詢只返回一個值,則可以使用=運算符將其與外部查詢一起使用。 如果它返回多個值,可以使用IN或NOT IN。

語法

以下是子查詢的通用語法。

SELECT col1, col2, col3,… 
FROM  
Outer Table 
WHERE col1 OPERATOR ( Inner SELECT Query);

例子

考慮以下薪資表。

員工編號收入扣除凈收入
10140,0004,00036,000
10280,0006,00074,000
10390,0007,00083,000
10475,0005,00070,000

以下查詢標(biāo)識最高薪水的員工編號。 內(nèi)部SELECT執(zhí)行聚合函數(shù)以返回最大NetPay值,外部SELECT查詢使用此值返回具有此值的雇員記錄。

SELECT EmployeeNo, NetPay 
FROM Salary 
WHERE NetPay =  
(SELECT MAX(NetPay)  
FROM Salary);

執(zhí)行此查詢時,將生成以下輸出。

*** Query completed. One row found. 2 columns returned. 
*** Total elapsed time was 1 second.  
 EmployeeNo     NetPay 
-----------  ----------- 
    103         83000 
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號