oracle 连接断开记录,Oracle 的连接查询记录

先 两张表 建表语句如下:

create table A (

id number primary key,

name varchar2(20),

class varchar2(40),

homeAddress varchar2(200)

);

create table B (

classid number primary key,

student varchar2(90)

);

insert into a values(12,'苹果笔记本','电脑','加州');

insert into a values (2,'联想笔记本','电脑','北京');

insert into a values (3,'华为笔记本','电脑','深圳');

insert into a values (4,'荣耀手机','手机','深圳');

insert into a values (5,'华为手机','手机','深圳');

insert into a values (6,'恒大俱乐部','足球俱乐部','广州');

insert into a values (7,'鲁能足球俱乐部','足球俱乐部','青岛');

insert into a values (8,'青岛啤酒','饮料','青岛');

insert into a values (9,'河南烩面','主食','河南');

insert into a values (10,'少林寺','寺庙','郑州');

insert into a values (11,'龙门石窟','景区','洛阳');*/

insert into b values (1,'少林寺');

insert into b values (2,'泰山');

insert into b values (3,'龙门石窟');

insert into b values (4,'华山');

insert into b values (5,'衡山');

insert into b values (6,'恒山');

insert into b values (7,'九华山');

insert into b values (8,'黄山');

insert into b values (9,'恒大足球俱乐部');

-- 全连接 一共出线了108 条数据 a 表数据数目 * b表数据数目即出现了笛卡尔积

select * from a,b;

-- 左连接 即以左表为准,并把b表符合 条件的进行显示,不符合的以null 代替

select * from a left join b on a.name=b.student order by a.id;

--右连接 即以右表为准,并把a表符合 条件的进行显示,不符合的以null 代替

select * from a right join b on a.name=b.student order by b.classid;

-- 内链接 仅仅显示符合条件的记录a、b表中信息均显示

select * from a inner join b on a.name=b.student order by a.id desc ;

-- 显示所有记录,符合条件不符合条件的均显示,并且没有笛卡尔积

select * from a full join b on a.name=b.student order by a.id desc;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值