当前位置:Gxlcms > 数据库问题 > 我所知道的数据库10-DQL语言SELECT(续)

我所知道的数据库10-DQL语言SELECT(续)

时间:2021-07-01 10:21:17 帮助过:31人阅读

ROWNUM,* FROM EMP;--查询员工表的所有信息。 SELECT ROWNUM,* FROM EMP WHERE DEPTNO =2 0;--查询部门编号为20的员工信息。 SELECT ROWNUM,* FROM EMP WHERE DEPTNO = 20 AND ROWNUM = 1;--查询部门编号为20的一位员工的信息。 SELECT ROWNUM,* FROM EMP WHERE DEPTNO = 20 AND ROWNUM < 10;--查询部门编号为20的9位员工的信息。 SELECT ROWNUM,* FROM EMP WHERE DEPTNO = 20 AND ROWNUM > 3;--报错!

 

SELECT ROWID,* FROM EMP WHERE ROWID=‘XXX‘;--查询rowid为XXX的员工的信息。

  如上所示,当rownum>3时是报错的,不能执行,那该怎么查询呢?别急,我们可以用嵌套查询,也称子查询,将查询结果作为查询对象或者条件表达式中的某对象。将查询到的ROWNUM作为单列,再针对其进行筛选,SQL语句如下:

  1. <span style="color: #0000ff">SELECT</span> RN,<span style="color: #808080">*</span> <span style="color: #0000ff">FROM</span> (<span style="color: #0000ff">SELECT</span> ROWNUM RN,<span style="color: #808080">*</span> <span style="color: #0000ff">FROM</span> EMP <span style="color: #0000ff">WHERE</span> DEPTNO <span style="color: #808080">= </span><span style="color: #800000; font-weight: bold">20</span>) <span style="color: #0000ff">WHERE</span> RN <span style="color: #808080">> </span><span style="color: #800000; font-weight: bold">3</span>;<span style="color: #008080">--</span><span style="color: #008080">查询部门编号为20,且排除前2个的员工信息。</span>

嵌套查询

  嵌套查询分为2种,一种是将查询结果当作一张表,作为查询对象进行查询。  

  1. <span style="color: #0000ff">SELECT</span> <span style="color: #808080">*</span> <span style="color: #0000ff">FROM</span> (<span style="color: #0000ff">SELECT</span> LASTNAME <span style="color: #0000ff">FROM</span> EMP) <span style="color: #0000ff">WHERE</span> LASTNAME <span style="color: #808080">= </span><span style="color: #ff0000">‘</span><span style="color: #ff0000">SMITH</span><span style="color: #ff0000">‘</span>;<span style="color: #008080">--</span><span style="color: #008080">该嵌套没有任何意义,此处只作为示例演示。</span>

 

  第二种是在where条件中,将查询结果作为某值或者某范围,用来筛选数据。

  1. <span style="color: #0000ff">SELECT</span> SCORE <span style="color: #0000ff">FROM</span> SCORE <span style="color: #0000ff">WHERE</span> ID <span style="color: #808080">=</span> (<span style="color: #0000ff">SELECT</span> ID <span style="color: #0000ff">FROM</span> CLASS <span style="color: #0000ff">WHERE</span> NAME <span style="color: #808080">=</span> <span style="color: #ff0000">‘</span><span style="color: #ff0000">张三</span><span style="color: #ff0000">‘</span>);<span style="color: #008080">--</span><span style="color: #008080">查询张三的成绩。<br></span>

 

我所知道的数据库10-DQL语言SELECT(续)

标签:单表查询   code   物理   rdbms   第一条   查询   name   weight   表达式   

人气教程排行