外连接

1.左外连接与内连接的区别:

    1.如果一个左表的行和右表的行匹配,这结果包含左表的行和右表的行,这些也是内连接产生的行

    2.如果坐标的行不匹配右表的任何行,这结果包含左表的行和右表的NULL值行。 

2.对于每个查询可以展示同时匹配和没有匹配的,null值识别输出行没有匹配的

3.如果感谢去没有匹配的行,可以增加一个条件限制输出仅仅包含空值,如下:

select name,language

from country left JOIN contryLanguage on Code=countryCode

where contryCode IS NULL;

12.3.2 写右外连接

和左连接基本相同,右连接产生右表的每一行,无论是否左表和右表有匹配项。

12.4  查询时表的别名和列的别名

不同的表和相同的表使用使用别名后连接

select contry.Name,city.name from country,city

where code=CuntryCode;

12.4.2 采用表的别名

1.如果相同列的表来自不同的数据库,必须是数据库.表.lie

2.一个表总是和它自己相连接时矛盾,不行使用表的别名

select t1.IndepYear,t1.name,t2.name

from country as t1,country as t2

where t1.IndepYear =t2.IndepYear and t1.name='Qatar';

12.5 多表的更新和删除语句

  1.更新行在一个表通过转换信息来自其他的表

  2.更新行在一个表,决定哪个行来更新通过引用其他的表

3.使用一条语句来更新多个表

4.删除行从一个表,决定哪个行来删除通过参照其他的表

5.删除行来自多个表使用一个单独的语句

update t1,t2 set t1.name=t2.name where t1.id=t2.id;

多表的删除可以由以下两种格式,

delete t1 from t1,t2 where t1.id=t2.id;

delete from t1 using t1,t2 where t1.id=t2.id;

删除匹配的行从两个表中:

delete t1,t2 from t1,t2 where t1.id=t2.id;

delete from t1,t2 using t1,t2 where t1.id=t2.id;



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值