zoukankan      html  css  js  c++  java
  • MySQL查询(关联查询)

    一、mysql查询与权限

    (一)数据库关联查询

    **内连接查询(inner join)**

    查询两个表共有的数据,交集

    SELECT * FROM tb1 INNER JOIN tb2 ON 条件

    所有有宿舍的学员

    左表查询(左关联查询)(left join)

    查询两个表共有的数据,和左表所有的数据,左表有右表没有的部分用null代替

    SELECT * FROM tb1 LEFT JOIN tb2 ON 条件

     所有学员的住宿情况

     

    右表查询(右关联查询)(right join)

    查询两个表共有的数据,和右表表所有的数据,右表有左表没有的部分用null代替
    在这里插入图片描述

    SELECT * FROM tb1 RIGHT JOIN tb2 ON 条件

    所有宿舍的学员情况

    在这里插入图片描述


    没有学员的宿舍
    在这里插入图片描述


    没有宿舍的学员
    在这里插入图片描述

    (二)多表(三表)关联查询

    1、内关联查询
    查看所有php的课程

    在这里插入图片描述

    在这里插入图片描述

    select * from major inner join major_course inner join course where 
    major.id = major_course.major_id and major_course.course_id = course.id 
    and major.id= 1;

    在这里插入图片描述

    规范写法:

    SELECT
    m.id AS m_id,
    m.name AS m_name,
    c.id AS c_id,
    c.name AS c_name
    FROM
    major AS m
    INNER JOIN major_course AS mc
    INNER JOIN course AS c
    WHERE
    m.id = mc.major_id
    AND mc.course_id = c.id;



    2、关联子查询
    查询所有含有计算机基础的专业

    SELECT
    name
    FROM
    major
    WHERE
    id IN (
    SELECT
    mc.major_id
    FROM
    course AS c
    LEFT JOIN major_course AS mc ON c.id = mc.course_id
    WHERE
    c.id = 1
    );

    在这里插入图片描述

  • 相关阅读:
    抽象工厂学习笔记
    SQL Transcation的一些总结
    享元模式(Flyweight)
    编程语言简史
    代理模式(Proxy)
    打造属于你的提供者(Provider = Strategy + Factory Method)
    打造属于你的加密Helper类
    单例模式(Singleton)的6种实现
    在C#中应用哈希表(Hashtable)
    InstallShield脚本语言的编写
  • 原文地址:https://www.cnblogs.com/ilovepython/p/11068797.html
Copyright © 2011-2022 走看看