Java教程

数据库:连接查询

本文主要是介绍数据库:连接查询,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

   连接查询: 可以将存在引用关系的表通过语法将各个表中的数据汇总到一个结果集中
   连接查询分类:
      1. 内连接查询
    关键字: inner join
    主表位置: 关键字左侧
    查询方式: 以主表数据为基础, 根据连接条件, 到副表中匹配数据
    匹配的次数: 1次
    结果集的形成方式: 只会将匹配成功时的主表和副表数据同时放入结果集
      2. 外连接查询
    1) 左外连接查询
       关键字: left join
       主表位置: 关键字左侧
       查询方式: 以主表数据为基础, 根据连接条件, 到副表中匹配数据
       匹配的次数: 不限
       结果集的形成方式: 无论是否匹配成功, 主表数据都会放入结果集,
          每匹配成功1次, 则会将副表数据连同主表数据再放入结果集1次
    2) 右外连接查询
       关键字: right join
       主表位置: 关键字右侧
       查询方式: 以主表数据为基础, 根据连接条件, 到副表中匹配数据
       匹配的次数: 不限
       结果集的形成方式: 无论是否匹配成功, 主表数据都会放入结果集,
          每匹配成功1次, 则会将副表数据连同主数据再放入结果集1次

-- 查询员工及其所属部门的信息
SELECT e.*, d.*
FROM emp e
INNER JOIN dept d ON e.`deptno` = d.`deptno`;

-- 查询员工及其上司的信息
SELECT s.`empno` 员工ID, s.`ename` 员工姓名, s.`mgr` 经理ID
      , m.`ename` 经理姓名
FROM emp s
INNER JOIN emp m ON s.`mgr` = m.`empno`;

SELECT s.`empno` 员工ID, s.`ename` 员工姓名, s.`mgr` 经理ID
      , m.`ename` 经理姓名
FROM emp s
LEFT JOIN emp m ON s.`mgr` = m.`empno`;

SELECT s.`empno` 员工ID, s.`ename` 员工姓名, s.`mgr` 经理ID
      , m.`ename` 经理姓名
FROM emp s
RIGHT JOIN emp m ON s.`mgr` = m.`empno`;

这篇关于数据库:连接查询的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!