zoukankan      html  css  js  c++  java
  • MySql多表查询

    创建测试表TEACHER(教师表)、COURSE(课程表)、STUDENT(学生表)

    TEACHER:

    TNO 教工号
    TNAME 教师姓名
    CNO 课程号
    SAL 工资
    DNAME 所在系
    TSEX 性别
    AGE 年龄

    COURSE:

    CNO 课程号
    CNAME 课程名
    TIME 课时
    SCOUNT 人数
    CTEST 考试时间

    STUDENT:

    SNO 学生号
    SNAME 学生性名
    DNAME 系名
    SSEX 性别
    CNO 课程号
    MARK 成绩
    TYPE 课程类型

    二表连接

    • 查询所有教师姓名、系名、课程名及考试时间

    多表连接

    • 查询所有学生姓名、所在系、课程名、考试时间、考试成绩及老师姓名

    AS别名

    自连接

    • 查询所有考试成绩大于60的学生姓名、所在系、课程号及考试成绩

    自然连接

    • 将表中具有相同名称的列自动进行记录匹配,等同于WHERE的等值连接,但是WHERE更加灵活。

    • 这里匹配两个表中的CNO和DNAME列,当两列均相同,才能连接起来。如果只需要匹配CNO则需要WHERE

    上述自然连接等同于如下WHERE等值连接

    内连接

    • 返回两个表中所有相匹配的数据,舍弃掉不匹配的数据

    • 返回所有学生姓名、系名、课程号和教师姓名

    • INNER JOIN 一次只能连接两个表,多个表需要多次连接

    • 返回所有学生姓名、系名、课程名、考试时间、考试成绩和老师姓名

    外连接

    • 匹配不仅包含符合条件的行,还包括左表(左外连接)、右表(右外连接)或两个连接表(全外连接)中的所有数据行
    表R A B C 表S C D
    a1 b1 c1 c1 d1
    a2 b2 c2 c2 d2
    a3 b3 c3 c4 d3

    左外连接

    • R left outer join S on R.C = S.C
    A B C C D
    a1 b1 c1 c1 d1
    a2 b2 c2 c2 d2
    a3 b3 c3 null null
    • 查询所有同学的学号、姓名、课程号、课程名、考试时间和成绩信息

    右外连接

    • R right outer join S on R.C = S.C
    A B C C D
    a1 b1 c1 c1 d1
    a2 b2 c2 c2 d2
    null null null c4 d3
    • 查询所有学生的学号、姓名、课程号、课程名、考试时间和成绩信息

    交叉连接

    • 返回两个表的所有数据行的笛卡尔积

    • R cross join S

    A B R.C S.C D
    a1 b1 c1 c1 d1
    a1 b1 c1 c2 d2
    a1 b1 c1 c4 d3
    a2 b2 c2 c1 d1
    a2 b2 c2 c2 d2
    a2 b2 c2 c4 d3
    a3 b3 c3 c1 d1
    a3 b3 c3 c2 d2
    a3 b3 c3 c4 d3

    UNION

    • 对集合进行关系并运算

    • 分别取出课程号为1和10的学生号、学生姓名和系名然后进行并运算

    UNION全外连接

    • 全外连接包括匹配行外,还包括左右表不匹配行。MySql没有全外连接我们可以用UNION来实现。

    • 全外连接

    A B R.C S.C D
    a1 b1 c1 c1 d1
    a2 b2 c2 c2 d2
    a3 b3 c3 null null
    null null null c4 d3

  • 相关阅读:
    jQuery笔记之工具方法—Ajax 优化回调地狱
    jQuery笔记之工具方法—高级方法Ajax
    jQuery笔记之 Ajax回调地狱
    jQuery笔记之工具方法extend插件扩展
    jQuery同时监听两个事件---实现同时操控两个按键
    jQuery笔记之工具方法
    肖sir_多测师 _高级讲师 第二个月21讲解jmeter性能测试之安装badboy(002)
    肖sir_多测师 _高级讲师 第二个月21讲解jmeter之实战性能测试(001)
    肖sir_多测师 _高级讲师 第二个月20讲解jmeter之实战操作mysql(004)
    肖sir_多测师 _高级讲师 第二个月20讲解jmeter接口之实战(003)
  • 原文地址:https://www.cnblogs.com/chenjy1225/p/11362234.html
Copyright © 2011-2022 走看看