1. 苏葳的备忘录首页
  2. 数据库

Oracle的sequence及left join等

oracle sequence joinOracle里有sequence对象,实际上是系统提供的一个自增值列。这个值增长到指定的大小后会重头开始。通常用在生成数据库数据记录的增长主键或序号的地方。Sequence是数据库系统的特性而非标准,有的数据库有Sequence,比如Oracle、DB2、PostgreSQL,有些则没有,比如MySQL、SQL Server、Sybase等数据库。Sybase中有一个identity列可以完成相似功能,但处理起来相对麻烦一些,因其并不是数据类型。

-- Create sequence
create sequence adfadfdfd
minvalue 1
maxvalue 99999999
start with 41
increment by 1
cache 20
cycle;

每次调用sequence.nextval方法,都会将当前sequence值加1,然后返回该值。sequence.currval则返回当前值。

另外一个左右联接的问题。两表,表a有5条数据,表b有3条数据,则a left join b时,会输出5条记录,而right join时,只会有3条。inner join则是两个表的交集。

SELECT * FROM a INNER JOIN b ON a.aID =b.bID

等同于以下SQL句:

SELECT * FROM a,b WHERE a.aID = b.bID

 

原创文章,作者:苏葳,如需转载,请注明出处:https://www.swmemo.com/405.html

发表评论

邮箱地址不会被公开。 必填项已用*标注