子查询、表连接

本文深入探讨了SQL中的子查询,包括单行单列、单行多列、EXISTS以及多列子查询,同时讲解了WITH AS语句和IN的多种用法。此外,还详细阐述了表连接的不同类型,如内连接、外连接(左、右、全)以及不等值连接和自连接,分析了WHERE和ON在不同连接中的作用。
摘要由CSDN通过智能技术生成

一、子查询

相关子查询与非相关子查询的区别

1、非相关子查询的子查询供主查询使用,子查询先于主查询执行,子查询可以单独执行。

2、相关子查询的子查询和主查询相互依赖,主查询先于子查询执行,子查询不可以单独执行

根据返回的结果又可以分为单行单列(一个值)、单行多列(一列值)、多行多列(一个表)

(一)、单行单列--返回的结果是某一列中的单个的值

--查询和SCOTT工资一样的员工信息  结果不显示SCOTT
SELECT * FROM EMP
WHERE SAL=(SELECT SAL FROM EMP WHERE ENAME='SCOTT') AND ENAME!='SCOTT';

(二)、单行多列(一列值)

单行比较符:<、>、<=、>=、=、!=

多行比较运算符:ANY(任意一个)、ALL(所有)、IN EXISTS  存在。ANY、ALL要配合单行比较符使用。

        >ANY   大于最小的 
        >ALL   大于最大的
        <ANY   小于最大的
        <ALL   小于所有的
        =ANY   IN
        =ALL   错(没有这个写法)

--查询比20部门呢所有人的工资都要高的员工信息
SELECT * FROM EMP
WHERE 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值