• 数据库之多表查询


    需求:查询学生成绩以及学生(显示学生的姓名和成绩)

    SELECT english,stuName from result student;

    交叉连接查询 不推荐 产生笛卡尔成绩现像 ( 4*4=16)

    需求:查询学生以及学生的成绩

    多表查询的规则:1确定查询那些表 2 确定哪些字段 3 表与表之间连接的条件(规律:连接条件数量是表数量-1)

    2内连接查询:只有满足条件的结果才会显示(使用最频繁)

    select stuName ,* 

    from student,result

    where result.stuId=student.id;

    内连接的另一种语法

    SELECT empName,deptName

    FROM employee

    INNER JOIN dept

    ON employee.deptId=dept.id;

    3使用别名

    select e.stuName,d.math

    from student e inner join result d

    on e.id = d.stuid;

    需求 查询学生的成绩

    预期 结果 

    张三  80 86

    左外连接查询 :使用左边表的数据去匹配右边表的数据,如果符合连接条件则结果显示 ,如果不符合连接条件则显示null

    --(注意左外连接查询:左表的数据一定会显示)

    select e.stuname , d.math 

    from student e

    left outer join result d

    on e.id = d.stuid;

    右外连接: 使用右表的数据去匹配左表的数据,如果符合连接条件则显示,如果不符合则显示Null (注意右外连接右表的数据一定会显示)

    select e.student,d.math

    from result e

    right outer join student e

    on e.id=d.stuid;

    自连接查询

    查询 成绩 及其学生 ;

    select e.math ,b.math 

    from result e

    lift outer join result b

    on e.bossid=b.id;                      其中添加了一个字段 bossid 

  • 相关阅读:
    一个简单的jsp自定义标签
    js正则表达式学习
    java获取当前日期等以及时区
    java日期处理SimpleDateFormat等
    一个炫酷的导航菜单,模仿别人写的
    后台管理界面自己写,模仿,更新中...
    信息收集-主机综合扫描工具的使用
    ms10_046_shortcut_icon_dllloader漏洞利用和ettercap dns欺骗
    如何成为一名黑客
    msf常用命令
  • 原文地址:https://www.cnblogs.com/qmk-716/p/9693931.html
Copyright © 2020-2023  润新知