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
  • 相关阅读:
    Hadoop Partitioner编程
    Hadoop Mapreduce之WordCount实现
    在linux下编写maven程序
    Hadoop RPC通信机制
    Hadoop 源码分析——Job提交过程
    HDFS的java接口
    hadoop 文件系统shell命令
    同步 vs 异步
    C++ STL详解
    C++中struct和class定义类区别
  • 原文地址:https://www.cnblogs.com/lqsilly/p/3051451.html
Copyright © 2011-2022 走看看