多表连接查询与子查询

本文详细介绍了SQL中的多表连接查询,包括无连接规则、有连接规则、INNER JOIN以及各种高级连接查询,如自连接、内连接、外连接等。此外,还讲解了如何在连接查询中使用聚合函数。最后,探讨了子查询的使用,包括返回单值的子查询和与聚合函数的配合使用。
摘要由CSDN通过智能技术生成

多表连接查询和子查询

一、连接查询

1.1使用无连接规则连接两表

所谓无连接规则连接,就是指两个表的SELECT语句中不设置任何连接条件,这样的到的链接结果是第一个表的每一行都会和第二个表的所有行进行连接,即得到一个笛卡尔积。

SELECT *

FROM STU_INFO,SCORE

      1.2 使用有连接规则连接两表

           有连接规则连接,其实就是在无连接规则上,加上WHERE子句指定连接规则的连接方法。

        SELECT *

        FROM STU_INFO,SCORE

        WHERE STU_INFO.SNO=SCORE.SNO

        

       1.3 使用多表连接查询数据

            SELECTSTU_INFO.SNO,STU_INFO.SNAME,STU_INFO.DEPART,SCORE.ENGLISH,TEACHER.TNAME

FROM STU_INFO,SCORE,TEACHER

WHERE STU_INFO.SNO=SCORE.SNO

              AND  STU_INFO.SNAME='张三'

1.4 使用INNER JOIN 连接查询

在WHERE子句中设置连接规则,有时会是整个条件表达式变得非常臃肿,而且不容易让人理解。因此ANSI SQL规范中建议使用INNER JOIN进行多表连接。这样一来WHERE 子句中就不在放置连接规则了,而只放置查询条件就可以了。

INNER JOIN 的语法格式如下:

SELECT *

FROM 表名1

INNER JOIN 表名2

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值