自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SQL嵌套SELECT語句的用法

數(shù)據(jù)庫 SQL Server
SQL嵌套SELECT語句又稱為子查詢,子查詢不但能夠出現(xiàn)在Where子句中,也能夠出現(xiàn)在from子句中,作為一個臨時表使用,也能夠出現(xiàn)在select list中,作為一個字段值來返回。

SQL嵌套SELECT語句是很常見的SQL語句,下面就為您詳細介紹SQL嵌套SELECT語句的語法,并附相關(guān)示例,供您參考學(xué)習(xí)之用。

嵌套SELECT語句也叫子查詢,一個SELECT 語句的查詢結(jié)果能夠作為另一個語句的輸入值。子查詢不但能夠出現(xiàn)在Where子句中,也能夠出現(xiàn)在from子句中,作為一個臨時表使用,也能夠出現(xiàn)在select list中,作為一個字段值來返回。

1、單行子查詢 :單行子查詢是指子查詢的返回結(jié)果只有一行數(shù)據(jù)。當主查詢語句的條件語句中引用子查詢結(jié)果時可用單行比較符號(=, >, <, >=, <=, <>)來進行比較。

例:

  1. select ename,deptno,sal   
  2. from emp   
  3. where deptno=(select deptno from dept where loc='NEW YORK');  

2、多行子查詢:多行子查詢即是子查詢的返回結(jié)果是多行數(shù)據(jù)。當主查詢語句的條件語句中引用子查詢結(jié)果時必須用多行比較符號(IN,ALL,ANY)來進行比較。其中,IN的含義是匹配子查詢結(jié)果中的任一個值即可("IN" 操作符,能夠測試某個值是否在一個列表中),ALL則必須要符合子查詢的所有值才可,ANY要符合子查詢結(jié)果的任何一個值即可。而且須注意ALL 和ANY 操作符不能單獨使用,而只能與單行比較符(=、>、< 、>= 、<= 、<>)結(jié)合使用。

例:

1).多行子查詢使用IN操作符號例子:查詢選修了老師名叫Rona(假設(shè)唯一)的學(xué)生名字

  1. sql> select stName  
  2.  
  3. from Student  
  4.  
  5. where stId in(selectdistinct stId from score where teId=(select teId from teacher where teName='Rona'));  

查詢所有部門編號為A的資料:

  1. SELECT ename,job,sal  
  2.  
  3. FROM EMP  
  4.  
  5. WHERE deptno in ( SELECT deptno FROM dept WHERE dname LIKE 'A%');  

2).多行子查詢使用ALL操作符號例子:查詢有一門以上的成績高于Kaka的最高成績的學(xué)生的名字:

  1. sql> select stName  
  2.  
  3. from Student  
  4.  
  5. where stId in(select distinct stId from score where score >all(select score from score where stId=(select stId from Student where stName'Kaka') ));  

3). 多行子查詢使用ANY操作符號例子:查詢有一門以上的成績高于Kaka的任何一門成績的學(xué)生的名字:

  1. sql> select stName  
  2.  
  3. from Student  
  4.  
  5. where stId in(select distinct stId from score where score >any(select score from score where stId=(select stId from Student where stName='Kaka')));  

3、多列子查詢:當是單行多列的子查詢時,主查詢語句的條件語句中引用子查詢結(jié)果時可用單行比較符號(=, >, <, >=, <=, <>)來進行比較;當是多行多列子查詢時,主查詢語句的條件語句中引用子查詢結(jié)果時必須用多行比較符號(IN,ALL,ANY)來進行比較。

例:

  1. SELECT deptno,ename,job,sal   
  2. FROM EMP   
  3. WHERE (deptno,sal) IN (SELECT deptno,MAX(sal) FROM EMP GROUP BY deptno);  

4、內(nèi)聯(lián)視圖子查詢

例:

  1. (1)SELECT ename,job,sal,rownum   
  2. FROM (SELECT ename,job,sal FROM EMP ORDER BY sal);   
  3. (2)SELECT ename,job,sal,rownum   
  4. FROM ( SELECT ename,job,sal FROM EMP ORDER BY sal)   
  5. WHERE rownum<=5;  

5、在HAVING子句中使用子查詢

例:

  1. SELECT deptno,job,AVG(sal) FROM EMP GROUP BY deptno,job HAVING AVG(sal)>(SELECT sal FROM EMP WHERE ename='MARTIN'); 

 

 

 

 

【編輯推薦】

SQL Server UPDATE語句的用法

SQL Server中select into語法詳解

SQL Server創(chuàng)建表和刪除表

SQL Server存儲過程的單步調(diào)試

sql server系統(tǒng)表說明

責任編輯:段燃 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2010-09-03 14:39:15

SQLSELECT語句

2009-02-06 09:42:00

sql嵌套serverSELECT

2010-11-11 11:37:22

SQL SELECT語

2023-03-30 09:10:06

SQLSELECTFROM

2010-09-07 16:38:36

SQL語句SELECT DIST

2010-09-03 14:47:50

SQLSELECT語句

2010-09-03 15:27:02

SQLSELECT語句

2010-09-03 14:31:31

SQLSELECT語句

2010-09-25 14:44:45

SQL select語

2010-09-17 09:35:51

SQL中if語句

2010-09-07 13:41:50

SQL語句

2010-11-11 11:13:54

SQL Server

2010-09-03 15:39:24

SQLSelect語句

2009-01-14 09:28:12

OracleSQL10g

2010-07-02 13:18:01

SQL Server

2010-08-18 08:53:23

DB2 SELECT語

2011-03-07 13:27:13

SQLCase

2010-07-26 16:39:57

SQL Server

2016-10-21 16:05:44

SQLSQL SERVER技巧

2010-09-03 14:56:12

SQLSELECT語句
點贊
收藏

51CTO技術(shù)棧公眾號