sql 子查询多于一个!SQL子查询

一:◎单行子查询:归回一行一列结果到外部查询
  ◎多行子查询:归回多行结果
  ◎多列子查询:归回多列结果
  ◎相干子查询:援用外部查询中的一列。对于外部查询中的每行执行一次子查询。
  ◎不相干子查询:首先执行子查询,然后将值传递给外部查询。
  ◎子查询可用于select、from、where、having子句中,后二者用的最多。
  ◎如果用于where或having子句,则该子查询只能位于比较运算符(分为数学比较运算符=<和其它比较运算between,in,like,is null)的左面。
  ◎如果用于select子句,则必是单行子查询。
  ◎子查询本身就是一个完整的查询,即至少包含select from子句。
  ◎子查询不能包含order by子句。
  ◎子查询必须包孕在一组括号中。
  ◎如果在select子句中随组函数据排列出了某个字段,那么必须也在group by 子句中列出这个字段。
  二:第六章.子查询
  目标:
  定义子查询
  列出子查询的类型
  写单行和多行子查询 要端:
  1.子查询的语法和使用原则
  SELECT select_list
  FROM table
  WHERE expr operator(SELECT select_list
  FROM table);
  子查询(内查询) 在主查询以前执行一次;
  子查询的结果被用于主查询(外查询);
  子查询可被放置在select、from、where、having子句中;
  另外,子查询可以被放在 CREATE VIEW 语句中、CREATE TABLE 语句、
  UPDATE 语句、INSERT 语句的 INTO 子句和 UPDATE 语句的 SET 子句中;
  子查询放在圆括号中;
  将子查询放在比较前提的右边;
  在子查询中的ORDER BY 子句不需要,除非正在执行Top-N 分析;
  在单行子查询顶用单交运算符,在多行子查询顶用多交运算符;
  Oracle 服务器没有强制限制子查询的数目;限制只与查询所需的缓和冲突区巨细有关;
  子查询和父查询可从不同的表中取值
  2.单行子查询
  仅归回一行,使用单行比较符(等于,大于小于,大于等于,小于等于,不等于);
  单行子查询的一个常见错误是单行子查询归回多于一个的行;
  另一个问题是子查询没有归回行,但这样不会报错,会提醒:no rows selected
  3.多行子查询
  归回多行,使用多行比较符(in,any,all)
  <ANY 意思是小于最大值, >ANY 意思是大于最小值, =ANY 等同于 IN;
  <ALL 意思是小于最小值, >ALL 意思是大于最大值;
  当使用 SOME 或 ANY 时,通常用 DISTINCT 要害字防止归回被多次选择的行;
  NOT 运算符可以与 IN、ANY 和 ALL 运算符一起使用;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值