Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1661195
  • 博文数量: 695
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 4027
  • 用 户 组: 普通用户
  • 注册时间: 2013-11-20 21:22
文章分类

全部博文(695)

文章存档

2018年(18)

2017年(74)

2016年(170)

2015年(102)

2014年(276)

2013年(55)

分类: Mysql/postgreSQL

2018-05-29 09:42:38


点击(此处)折叠或打开

  1. mysql> select * from stu;
  2. +------+--------+---------+
  3. | sid | sname | sphonum |
  4. +------+--------+---------+
  5. | 1 | 张三 | 110 |
  6. | 2 | 李四 | 120 |
  7. | 3 | 王五 | 130 |
  8. +------+--------+---------+
  9. rows in set (0.00 sec)

  10. mysql> select * from tea;
  11. +------+-----------+---------+
  12. | tid | tname | tphonum |
  13. +------+-----------+---------+
  14. | 1113 | 相老师 | 1111 |
  15. | 1114 | 冯老师 | 1112 |
  16. +------+-----------+---------+
  17. rows in set (0.00 sec)

  18. mysql> select * from course;
  19. +------+--------+
  20. | cid | cname |
  21. +------+--------+
  22. | 1 | linux |
  23. | 2 | mysql |
  24. | 3 | hadoop |
  25. +------+--------+
  26. rows in set (0.00 sec)

  27. mysql> select * from xuanke;
  28. +------+------+------+--------+
  29. | sid | tid | cid | xuefen |
  30. +------+------+------+--------+
  31. | 1 | 1113 | 2 | 2 |
  32. | 1 | 1114 | 1 | 4 |
  33. | 1 | 1113 | 3 | 6 |
  34. | 2 | 1113 | 2 | 2 |
  35. | 2 | 1114 | 1 | 2 |
  36. | 2 | 1113 | 3 | 2 |
  37. +------+------+------+--------+
  38. rows in set (0.00 sec)

1、内连接inner join

  只返回两张表中所有满足连接条件的行,即使用比较运算符根据每个表中共有的列的值匹配两个表中的行。(inner关键字是可省略的)

①传统的连接写法:

  在FROM子句中列出所有要连接的表的名字(进行表别名),以逗号分隔;

  连接条件写在WHERE子句中;

注意:一旦给表定义了别名,那么原始的表名就不能在出现在该语句的其它子句中

mysql> select s.sname,c.cname,t.tname,x.xuefen
    -> from stu s,tea t,course c,xuanke x
    -> where s.sid=x.sid and t.tid=x.tid and c.cid=x.cid;
+--------+--------+-----------+--------+
| sname  | cname  | tname     | xuefen |
+--------+--------+-----------+--------+
| 张三    | linux  | 冯老师     |      4 |
| 李四    | linux  | 冯老师     |      2 |
| 张三    | mysql  | 相老师     |      2 |
| 李四    | mysql  | 相老师     |      2 |
| 张三    | hadoop | 相老师     |      6 |
| 李四    | hadoop | 相老师     |      2 |
+--------+--------+-----------+--------+
rows in set (0.08 sec)

2、外连接outer join

  使用外连接不但返回符合连接和查询条件的数据行,还返回不符合条件的一些行

在MySQL数据库中外连接分两类(不支持全外连接):

  左外连接、右外连接。(outer关键字可省略)。

共同点:都返回符合连接条件和查询条件(即:内连接)的数据行

不同点:

  ①左外连接还返回左表中不符合连接条件,但符合查询条件的数据行。(所谓左表,就是写在left join关键字左边的表)

  ②右外连接还返回右表中不符合连接条件,但符合查询条件的数据行。(所谓右表,就是写在right join关键字右边的表

https://www.cnblogs.com/geaozhang/p/6753190.html
阅读(1248) | 评论(0) | 转发(0) |
0

上一篇:synchronized与static synchronized 的区别

下一篇:没有了

给主人留下些什么吧!~~