zoukankan      html  css  js  c++  java
  • SQL 查询数据(三.连接查询) 实例_(学生,课程表,选修表)

    带连接谓语的查询是关系数据库中最主要的连接查询,其中包括内连接查询,外连接查询,复合条件连接查询

    1.内连接查询

    在表中存在至少一个匹配时,INNER JOIN 关键字返回行 注释:INNER JOIN 与 JOIN 是相同的。

    查询学生

     --查询学生对各门课程的选修情况(内连接)
    select 学生.学号,姓名,课程名,成绩,选修日期
    from (学生 inner join 选修 on 学生.学号=选修.学号)
    inner join 课程 on 课程.课程号=选修.课程号

    等同于如下写法

    select 学生.学号,姓名,课程名,成绩,选修日期
    from 学生
    inner join 选修 on 学生.学号=选修.学号
    inner join 课程 on 课程.课程号=选修.课程号

    备注:

    1)使用类似于"="或"<>"的比较运算符将两个表连接起来,找出多个表共同拥有(满足列=或<>)的记录

    2.外连接查询

    --查询各门课程的选修情况,是否存在没有学生选修的课程(外连接(left,right,full))
    select 课程.课程号,课程名,学号,成绩,选修日期
    from 课程 left join 选修 on 课程.课程号=选修.课程号

    备注:

    1)有时不管另一个表是否有匹配的值,都希望查询结果中包含两个表中的所有行.这时就需要使用 full join(完整外连接)

    2)不管第1个表中是否有匹配的数据,结果将包含第2个表中的所有行.这时就需要使用 right join(右向外连接)

    3)不管第2个表中是否有匹配的数据,结果将包含第1个表中的所有行.这时就需要使用 left join(左向外连接)

    3.复合条件连接查询(带where子句查询)

    清清软件园 http://sillysoft.taobao.com
  • 相关阅读:
    MySQL开启general_log并设置路径
    mysql日志文件开启及详解:General_log 和 Binlog
    mysql binary like_MYSQL的binary解决mysql数据大小写敏感问题的方法
    分布式系统回滚机制
    ubuntu 后台运行的几种方法!
    ubuntu磁盘分配和挂载
    .NET Core SDK在Windows系统安装后出现Failed to load the hostfxr.dll等问题的解决方法
    数组.html
    温习
    for练习.html
  • 原文地址:https://www.cnblogs.com/lqsilly/p/3051451.html
Copyright © 2011-2022 走看看