ORACLE学习笔记4

1.左连接
存在 xzm_test m表  xzy_test y表 两表
左连接就是 对M和Y两表进行匹配,但是对于M表不能匹配上的数据也列出来
也就是说列出M表的所有数据,不能匹配上的就是空NULL表示

select m.name,m.age,y.name,y.age from xzm_test m,xzy_test y where m.age=y.age(+);


NAME              AGE NAME              AGE
---------- ---------- ---------- ----------
xzy                23
xzm1               25 xzm2               25
xzm2               26

同以上的方式
SQL> select m.name,m.age,y.name,y.age
  2  from xzm_test m
  3  left outer join xzy_test y
  4  on (m.age=y.age);

右连接 原理同左连接
select m.name,m.age,y.name,y.age from xzm_test m,xzy_test y where m.age(+)=y.age;

NAME              AGE NAME              AGE
---------- ---------- ---------- ----------
xzm1               25 xzm2               25

同以上的方式
SQL> select m.name,m.age,y.name,y.age
  2  from xzm_test m
  3  right outer join xzy_test y
  4  on (m.age=y.age);


全连接
就是查询出所有的数据,都是以表原来的字段来表示:
SQL> select m.age,m.name ,y.age,y.name 
  2  from xzm_test m
  3  full outer join xzy_test y
  4  on (m.age=y.age);

       AGE NAME              AGE NAME
---------- ---------- ---------- ----------
        25 xzm1               25 xzm2
        26 xzm2
        23 xzy

更新语句
update xzm_test t set t.name = 'test' where t.age= 20,salary = 10000;

删除语句
delete from xzm_test t where t.name='test';

插入语句
insert into xzm_test values(1,'xzm',25);

查询语句
    select name from xzm_test;

    查询最近30天内的人员
    select sysdate-30 from dual;

  

你可能感兴趣的:(oracle,sql)