Oracle exists 用法 和 My Sql limit offset的用法

静思苑 2015-02-03

Oracle:

1.先执行子查询,再执行主查询。在执行子查询的时候,把主查询挂起,当子查询执行完毕后,把结果存放到一个临时表中,然后再执行主查询

select * from T1 where TI.a in (select T2.a from T2);

2.先执行主查询,再执行子查询,找到匹配的为止。     

select * from T1 where exists (select * from  T2 where T1.a = T2.a);

 Oracle查询语句中 from 后 表是按照自上而下的顺序查询的, where 后的条件是按照自下而上的顺序执行的。

My Sql:

1.select * from T1 where limit 1,3;    ---limit 后第一个数字的含义是:设这个数字为A,代表从表中第(A+1)条记录开始查询,第二个数字的含义代表查询的最多总记录数(因为表中复合记录的行数可能小于总记录数)

2.select * from T1 where limit A offset B; --这条语句的含义和上面语句的含义恰好相反,A代表查询的最多总记录数,(B+1)代表从表的第几条记录开始查询

相关推荐