博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库内连接、外连接、左连接、右连接、全连接
阅读量:5877 次
发布时间:2019-06-19

本文共 1137 字,大约阅读时间需要 3 分钟。

行级锁是一种排他锁,防止其他事务修改此行;在使用以下语句时,Oracle会自动应用行级锁:

INSERT、UPDATE、DELETE、SELECT … FOR UPDATE [OF columns] [WAIT n | NOWAIT];
SELECT … FOR UPDATE语句允许用户一次锁定多条记录进行更新
使用COMMIT或ROLLBACK语句释放锁

表级锁又分为5类:

行共享 (ROW SHARE) – 禁止排他锁定表

行排他(ROW EXCLUSIVE) – 禁止使用排他锁和共享锁
共享锁(SHARE) - 锁定表,对记录只读不写,多个用户可以同时在同一个表上应用此锁
共享行排他(SHARE ROW EXCLUSIVE) – 比共享锁更多的限制,禁止使用共享锁及更高的锁
排他(EXCLUSIVE) – 限制最强的表锁,仅允许其他用户查询该表的行。禁止修改和锁定表。

 

两张表查询的时候就会连接,从两个表中记录的笛卡尔积中选取满足连接的记录

自然连接(natural join)

自然连接是一种特殊的等值连接,他要求两个关系表中进行比较的必须是相同的属性列,无须添加连接条件,并且在结果中消除重复的属性列。

sql语句:Select …… from 表1 natural join 表2

 

内连接(inner  join)

内连接基本与自然连接相同,不同之处在于自然连接奥球是同名属性列的比较,而内连接则不要求两属性列同名,可以用using或on来指定某两列字段相同的连接条件。

sql语句:Select …… from 表1 inner join 表 2 on 表1.A=表2.E

 

左外连接(left outer join)

左外连接是在两表进行自然连接,只把左表要舍弃的保留在结果集中,右表对应的列上填null。

sql语句:Select …… from 表1 left outer join 表2 on 表1.C=表2.C

 

右外连接(rignt outer join)

右外连接是在两表进行自然连接,只把右表要舍弃的保留在结果集中,左表对应的列上填null。

Select …… from 表1 rignt outer join 表2 on 表1.C=表2.C

 

全外连接(full join)

全外连接是在两表进行自然连接,只把左表和右表要舍弃的都保留在结果集中,相对应的列上填null。

Select …… from 表1 full join 表2 on 表1.C=表2.C

如何应付表数据过大的查询问题?

1:尽量避免大表关联

2:对大表进行分区

转载于:https://www.cnblogs.com/BobHuang/p/10761660.html

你可能感兴趣的文章
关于浏览器的cookie
查看>>
Hyper-V 2016 系列教程30 机房温度远程监控方案
查看>>
国内先进的智能移动广告聚合平台-KeyMob聚合
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
PHP - 如何打印函数调用树
查看>>
js闭包
查看>>
寒假。3.3.G - Common Child (最大公共子序)
查看>>
设计模式学习笔记--原型模式
查看>>
.Net 通过MySQLDriverCS操作MySQL
查看>>
JS Cookie
查看>>
ubuntu Unable to locate package sysv-rc-conf
查看>>
笔记:认识.NET平台
查看>>
cocos2d中CCAnimation的使用(cocos2d 1.0以上版本)
查看>>
【吉光片羽】短信验证
查看>>
MacBook如何用Parallels Desktop安装windows7/8
查看>>
gitlab 完整部署实例
查看>>
GNS关于IPS&ASA&PIX&Junos的配置
查看>>
七天学会ASP.NET MVC (四)——用户授权认证问题
查看>>
upgrade to iOS7,how to remove stroyboard?
查看>>