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
    	);
    

    在这里插入图片描述

  • 相关阅读:
    让层遮挡select(ie6下的问题)
    HTTP协议详解(真的很经典)
    网络编辑基础:对HTTP协议的头信息详解
    (OK) MIMP
    (OK) MIMP
    (OK) MIMP
    (OK)(OK) Android-x86-7.1.1/ kernel 4.4.62
    (OK)(OK) Android-x86-7.1.1/ kernel 4.4.62
    (OK) Android-x86-7.1.1/ kernel 4.4.62
    (OK)(OK) Android-x86-7.1.1/ kernel 4.4.62
  • 原文地址:https://www.cnblogs.com/ilovepython/p/11068860.html
Copyright © 2011-2022 走看看