笛卡尔积,连接

# 笛卡尔积, 代表X乘以Y的积
# 交叉连接,自然连接,自连接,内连接,外连接,全连接(mysql不支持),交并补差(mysql不支持)

# 交叉连接:直接在from后面跟表名,会产生笛卡尔积	缺点:1:查询结果不对,2:影响数据库性能 
# 隐式交叉连接
SELECT * FROM EMP,DEPT
# 显式交叉连接
SELECT * FROM EMP CROSS JOIN DEPT

# 自然连接 将两张表中等值的列自动合到一起放在第一排显式并隐藏结果集中的笛卡尔积。
SELECT * FROM EMP NATURAL JOIN DEPT
SELECT * FROM EMP JOIN DEPT ON(EMP.DEPTNO=DEPT.DEPTNO)

#显式内连接 只显式符合ON后面条件对比的数据,
SELECT * FROM EMP INNER JOIN DEPT ON EMP.DEPTNO=DEPT.DEPTNO;
#隐式内连接 不使用INNER JOIN ON关键字,直接在 WHERE 之后对比条件
SELECT * FROM EMP,DEPT WHERE EMP.DEPTNO=DEPT.DEPTNO;

# 左外连接 左侧的表显式全部内容无论是否符合条件,右边的表只显示符合条件的
SELECT * FROM DEPT D LEFT JOIN EMP E ON D.DEPTNO=E.DEPTNO;
# 右外连接 右侧的表显式全部内容无论是否符合条件,左边的表只显示符合条件的
SELECT * FROM DEPT D RIGHT JOIN  EMP E ON D.DEPTNO=E.DEPTNO;

-- 自连接 适用于树形结构,表之中存在父级ID,需要关联的条件就在自身表里面。
-- 求出每个员工的领导姓名
SELECT EMP1.EMPNO '员工编号', EMP1.ENAME '员工姓名',EMP2.ENAME '领导姓名' FROM EMP EMP1,EMP EMP2
WHERE EMP1.MGR=EMP2.EMPNO;

-- 找出emp表与salgrade 表中的关系,发现sal 都在 losal与hisal 的范围之内正好适用BETWEEN AND
SELECT * FROM EMP E,salgrade s
WHERE E.SAL BETWEEN s.LOSAL AND s.HISAL

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小郑要做干饭人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值