zoukankan      html  css  js  c++  java
  • sql多表查询(单表查询略过)

    表library:                                                                                                                            

    表borrow:

    表reader:

    1、等值连接:(常用)

      原理:将多张表组合成一个逻辑大表,即字段相加记录相乘(笛卡尔积)。

      语法:select * from 表A,表B where 表A.主键=表B.外键 and 查询条件。

      步骤:①明确来源于哪几张表;②找到关联字段;③添加条件;④合并语句。

      优点:简单方便。

      缺点:查询效率低,查询记录快速增长。

      适用范围:不适用于海量数据的查询。

      例子:

        找出李某所借图书的所有图书的书名及借书日期。          

        SELECT

          full_name,

          book_name,

          borrowdate

        FROM

          library,

          borrow,

          reader

        WHERE

          library.mastr_serial_number = borrow.mastr_serial_number

          AND borrow.library_card_number = reader.library_card_number

          AND full_name LIKE '李%'

    2、嵌套查询:(常用)

      原理:将多个单表查询结果拼接在一起。

      步骤:①依据需求,拆分多个单表查询;②针对每一个单表查询编写sql语句(每写完一条执行,检查是否正确);③合并sql语句(单表查询结果单个:=、!=、>、<、>=、<=;多个查询结果:in、not in)。

      优点:查询效率高,记录不会增加。

      缺点:复杂、逻辑性强,表结构要清晰

      例子:

        查询1997年10月以后借书的读者借书证号、姓名和单位。

        SELECT

          full_name,

          unit,

               library_card_number

          FROM

          reader

        WHERE

          library_card_number in (

          SELECT

            library_card_number

          FROM

            borrow

          WHERE

            borrowdate > '1997-10-31')

     3.内连接:(不常用)

      特点:先判断再组合

      语法:inner join ... on

                    两张表:select * from 表A inner join 表B on 表A.主键=表B.外键 where 查询条件

                    三张表:select * from 表A inner join 表B on 表A.主键=表B.外键 inner join 表C on 表C.主键=表B.外键 where 查询条件

    4.外连接:(不常用)

      分为左外连接右外连接

  • 相关阅读:
    2020春-C高级--第二周--视频内容大纲
    2020春-C高级--第一周视频内容大纲
    2020春-C高级-预习作业1
    2019年上-C语言程序设计-第1次blog作业
    2019年上-C语言程序设计课程内容
    2018上C语言程序设计(初级)作业- 第2次作业
    2018下C语言基础课第1次作业
    2018上C语言程序设计(高级)作业- 第4次作业成绩及总结
    2020软件工程作业00--问题清单
    2020软件工程个人作业06——软件工程实践总结作业
  • 原文地址:https://www.cnblogs.com/njcb/p/7992194.html
Copyright © 2011-2022 走看看