MySQL学习笔记(二):内连接和外连接实现多表查询
2015-07-02 11:25
537 查看
--Student表 --StudentID StudentName StudentAge 1 张三 25 2 李四 26 3 无名氏 27 --BorrowBook表 --StudentID BorrowBookName BorrowBookPublish 1 马克思主义政治经济学 电子工业出版社 2 ***思想概论 高等教育出版社
1、内连接:JOIN
内连接用的比较多,返回两个表中所有匹配的数据
<pre name="code" class="html">--SQL语句 Select Student.StudentName, Student.StudentAge, BorrowBook.BorrowBookName, BorrowBook.BorrowBookPublish From Student JOIN BorrowBook On Student.StudentID = BorrowBook.StudentID --运行的结果如下: StudentName StudentAge BorrowBookName BorrowBookPublish --------------------------------------------------------------------------------- --张三 25 马克思主义政治经济学 电子工业出版社 --李四 26 ***思想概论 高等教育出版社
2、左连接:LEFT JOIN
--SQL语句 Select Student.StudentName, Student.StudentAge, BorrowBook.BorrowBookName, BorrowBook.BorrowBookPublish From Student Left JOIN BorrowBook On Student.StudentID = BorrowBook.StudentID --运行的结果如下: StudentName StudentAge BorrowBookName BorrowBookPublish --------------------------------------------------------------------------------- --张三 25 马克思主义政治经济学 电子工业出版社 --李四 26 ***思想概论 高等教育出版社 --无名氏 27 NULL NULL
查询的结果是以左表Student为主,Student对应的StudentID在右表BorrowBook如果不存在的话,就会用NULL值来代替。
3、同左连接:只是把LEFT换成RIGHT
相关文章推荐
- MySQL学习笔记(一):添加外键
- MySQL主从同步原理介绍
- Mysql插入空间数据
- mysql函数大全
- mysql 的权限体系介绍
- Another MySQL daemon already running with the same unix socket
- 解决mysql-5.6.14-winx64中文乱码问题
- Mysql的Merge存储引擎实现分表查询
- Windows下面安装和配置MySQL(5.6.20)
- mysql数据库目录存放位置更改
- mysql学习4:select,update,insert,delete
- mysql学习3:索引,触发器,试图
- 处理MySQL复制环境Slave故障的一个案例
- MySql级联操作
- JSP写入mysql数据库乱码问题
- mysql压缩表空间
- ERROR: The partition with /var/lib/mysql is too full! failed!
- MySQL详解(8)----------MySQL线程池总结(二)
- 利用mysql的inet_aton()和inet_ntoa()函数存储IP地址的方法分享
- MySQL详解(7)-----------MySQL线程池总结(一)