1. 背景 * 多表联合查询是把不同表的记录到一起的一种方式 * 在SQL标准中规划的联合(join)大致分内连接,外连接,全连接。其中外连接又分左外连接,右外连接。
2. 内连接例子 (inner join) [ 员工 –> 部门 ] * 查看员工表[ employees ]和部门表开发云主机域名[ departments ]结构
* 查看员工表[ employees ]和部门表[ departments ]数据
* 查询并显示所有员工id, 姓名,姓别,年龄,所在部门 (方法一)
*查询并显示所有员工id, 姓名,姓别,年龄,所在部门 (方法二) [ 方法一等价于方法二 ] inner join 可以省写成 join
3. 外连接例子 左外连接 [以左表为基础,左表的全部数据,右表有的组合。右表没有的为null ] 右外连接 [ 以右表为基础,右表的全部数据,左表有的组合。左表没有的为null] * 查看a表和b表结构
* 查看a表和b表数据 * 左外连接查询 (left join) 以a表为基础,显示a表所有数据,b表有的组合,没有显示NULLL left outer join 可以写成 left join
* 右外连接查询以b表为基础,显示b表所有数据,a表有的组合,没有显示NULLL right outer join 可以写成 right join
* 完全(交叉)连接查询 没有 where 子句的交叉联接将产生联接所涉及的表的笛卡尔积。 第一个表的行数乘以第二个表的行数等于笛卡尔积结果集的大小。 (a和b交叉连接产生3*4=12条记录)
4. 总结
以需求驱动技术,技术本身没有优略之分,只有业务之分。
相关推荐: mysql 5.6.25报错ERROR 1372 (HY000): Password hash 的一点思考
之前使用的一套mysql 5.6.25,由于一些原因我进行了清除。大家知道我们第二次执行mysql_install_db初始化数据库时,是不会存储root的临时密码。 那么要进入mysql数据库,就引入如下的一篇文章。 0,以无密码认证方式启动数据库 [roo…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。