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;
存在 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;