create table loc (id int primary key, name varchar2(20));
create table person (name varchar2(20), locid references loc);
insert into gp values (1, '和平', '万岁');
insert into gp values (2, '自由', '很好');
insert into gp values (3, '民主', '爱国');
insert into gp values (4, '敬业', '友善');
insert into loc values (11, '广东');
insert into loc values (22, '山东');
insert into loc values (33, '湖南');
insert into loc values (44, '江西');
insert into person values ('王新炜', 33);
insert into person values ('吴英平', 33);
insert into person values ('杜志海', 44);
insert into person values ('范锐', 11);
commit;
select * from person;
select * from loc;
select * from person, loc;
select * from person, loc where person.locid = loc.id;
select * from person, loc where person.locid = loc.id and person.name like '王%';
create table gp (id int primary key, name varchar2(20), logo varchar2(10));
alter table person add (gpid int references gp);
select * from gp;
select * from loc;
select * from person;
update loc set name='中华人民共和国湖南省' where id=33;
commit;
select * from person p, loc l, gp g;
select * from person p, loc l, gp g
where p.locid = l.id
and p.gpid = g.id
and g.name='和平'
and p.name like '王%';
select * from person p, loc l, gp g
where p.locid = l.id and p.gpid = g.id;
select * from person p
join loc l on p.locid = l.id
join gp g on p.gpid = g.id;
insert into person values ('黄秀', null, null);
commit;
select * from person, loc
where person.locid = loc.id(+);
select * from person p
left outer join loc l on p.locid = l.id;