静思苑 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)代表从表的第几条记录开始查询