• MySQL连接的使用


    为什么要有连接

    在实际使用创建表的时候我们不可能将所有的信息都放在一个表中,也就是不同的信息会放在不同的表中,所以我们最终需要的信息

    可能在多个表中,这就需要我们使用连接来查询我们想要的信息。

    有几种连接

    一般情况下我们主要使用下面三种连接:

    1. INNER JOIN(等值连接):获取两个表中字段匹配关系的记录。

    2. LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录。

    3. RIGHT JOIN(右连接): 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。

    使用连接的一般思路

    1. 首先要分析我们需要的数据存在哪些表中;

    2. 找到这些表中关联的数据列,没有关联的数据列的话一般不能进行连接查询;

    3. 确定使用哪种连接方式;

    4. 编写查询语句测试;

    假设我们有下面的两个表:
    student表:

    id name
    1 h
    2 j
    3 k
    4 l
    5 m
    6 n
    7 o

    grade表:

    id grade
    1 88
    2 90
    3 87
    4 85

    下面来看三种查询的结果:

    1. INNER JOIN
    select a.id,a.name,b.grade
    from student as a
    inner join grade as b
    on a.id=b.id;
    

    结果为:

    id name grade
    1 h 88
    2 j 90
    3 k 87
    4 l 85
    1. LEFT JOIN
    select a.id,a.name,b.grade
    from student as a
    left join grade as b
    on a.id=b.id;
    

    结果为:

    id name grade
    1 h 88
    2 j 90
    3 k 87
    4 l 85
    5 m NULL
    6 n NULL
    7 o NULL
    1. RIGHT JOIN
    select a.id,a.name,b.grade
    from student as a
    right join grade as b
    on a.id=b.id
    

    结果为:

    id name grade
    1 h 88
    2 j 90
    3 k 87
    4 l 85

    其中的左右表是根据放在join的左右来定义的。

  • 相关阅读:
    BWList of logged on users in the Portal
    BASIS About Profile
    B/S C/S 打印
    程序员得学习观各种好书推荐
    ORACLE面试测试题目
    oracle经典20题(参考答案)
    程序员得学习观各种好书推荐
    Oracle笔试题
    Oracle笔试题
    Oracle里面常用的数据字典有哪些?
  • 原文地址:https://www.cnblogs.com/noob-l/p/13274038.html
Copyright © 2020-2023  润新知