开发者社区> 问答> 正文

连接查询(join)

已解决

连接查询(join)

展开
收起
pandacats 2019-12-09 11:35:42 765 0
1 条回答
写回答
取消 提交回答
  • 采纳回答
        将多个表的字段进行连接,可以指定连接条件。
    -- 内连接(inner join)
        - 默认就是内连接,可省略inner。
        - 只有数据存在时才能发送连接。即连接结果不能出现空行。
        on 表示连接条件。其条件表达式与where类似。也可以省略条件(表示条件永远为真)
        也可用where表示连接条件。
        还有 using, 但需字段名相同。 using(字段名)
    
        -- 交叉连接 cross join
            即,没有条件的内连接。
            select * from tb1 cross join tb2;
    -- 外连接(outer join)
        - 如果数据不存在,也会出现在连接结果中。
        -- 左外连接 left join
            如果数据不存在,左表记录会出现,而右表为null填充
        -- 右外连接 right join
            如果数据不存在,右表记录会出现,而左表为null填充
    -- 自然连接(natural join)
        自动判断连接条件完成连接。
        相当于省略了using,会自动查找相同字段名。
        natural join
        natural left join
        natural right join
    
    select info.id, info.name, info.stu_num, extra_info.hobby, extra_info.sex from info, extra_info where info.stu_num = extra_info.stu_id;
    
    2019-12-09 11:36:02
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载