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

    合并结果集

    UNION:去重
    UNION ALL:不去重

    要求两个结果集的列数和字段类型必须相同,不然会报错

    连接查询

    笛卡尔积

    A={a,b},B={0,1,2} ==> {(a,0),(a,1),(a,2),(b,0),(b,1),(b,2)}

    SELECT * FROM students,score;   // 学生表的每条数据会合并分数表的每条数据,形成一条新的数据

    99 连接

    去笛卡尔积,查交集。使用两张表的公共字段(主外键),原理是在笛卡尔积中进行筛选,条件就是公共字段一致,如果一致就留下,不一致就丢掉

    SELECT * FROM students st,score sc WHERE st.id = sc.sid;

    内连接

    和 99 连接效果一致,也是去笛卡尔积,查交集

    SELECT * FROM students st [INNER] JOIN score sc ON st.id = sc.sid WHERE sc.score >= 60;

    左连接

    交集+左表独有数据

    SELECT * FROM students st LEFT JOIN score sc ON st.id = sc.sid;

    右连接

    交集+右表独有数据

    SELECT * FROM students st RIGHT JOIN score sc ON st.id = sc.sid;

  • 相关阅读:
    Light OJ 1067 Combinations (乘法逆元)
    hdu1172猜数字(暴力枚举)
    hdu 2266 How Many Equations Can You Find(DFS)
    项目之问卷调查问题
    Django之Modelform组件
    GIT
    form组件的总结
    总结django知识点
    djang-分页
    Django-Ajax
  • 原文地址:https://www.cnblogs.com/huanggy/p/9494905.html
Copyright © 2011-2022 走看看