时间:2021-07-01 10:21:17 帮助过:31人阅读
SELECT ROWID,* FROM EMP WHERE ROWID=‘XXX‘;--查询rowid为XXX的员工的信息。
如上所示,当rownum>3时是报错的,不能执行,那该怎么查询呢?别急,我们可以用嵌套查询,也称子查询,将查询结果作为查询对象或者条件表达式中的某对象。将查询到的ROWNUM作为单列,再针对其进行筛选,SQL语句如下:
SELECT RN,* FROM (SELECT ROWNUM RN,* FROM EMP WHERE DEPTNO = 20) WHERE RN > 3;--查询部门编号为20,且排除前2个的员工信息。
嵌套查询
嵌套查询分为2种,一种是将查询结果当作一张表,作为查询对象进行查询。
SELECT * FROM (SELECT LASTNAME FROM EMP) WHERE LASTNAME = ‘SMITH‘;--该嵌套没有任何意义,此处只作为示例演示。
第二种是在where条件中,将查询结果作为某值或者某范围,用来筛选数据。
SELECT SCORE FROM SCORE WHERE ID = (SELECT ID FROM CLASS WHERE NAME = ‘张三‘);--查询张三的成绩。
我所知道的数据库10-DQL语言SELECT(续)
标签:单表查询 code 物理 rdbms 第一条 查询 name weight 表达式