mysql> select a.user_name,a.over,b.over from user1 a join user2 b;-- 两张表不加任何限制条件进行连接的时候,会出现笛卡尔积现象
+-----------+----------+--------+
| user_name | over | over |
+-----------+----------+--------+
| 孙悟空 | 齐天大圣 | 成佛 |
| 沙僧 | 金身罗汉 | 成佛 |
| 唐僧 | 功德佛 | 成佛 |
| 猪八戒 | 净坛使者 | 成佛 |
| 孙悟空 | 齐天大圣 | 被降伏 |
| 沙僧 | 金身罗汉 | 被降伏 |
| 唐僧 | 功德佛 | 被降伏 |
| 猪八戒 | 净坛使者 | 被降伏 |
| 孙悟空 | 齐天大圣 | 被降伏 |
| 沙僧 | 金身罗汉 | 被降伏 |
| 唐僧 | 功德佛 | 被降伏 |
| 猪八戒 | 净坛使者 | 被降伏 |
| 孙悟空 | 齐天大圣 | 被降伏 |
| 沙僧 | 金身罗汉 | 被降伏 |
| 唐僧 | 功德佛 | 被降伏 |
| 猪八戒 | 净坛使者 | 被降伏 |
| 孙悟空 | 齐天大圣 | 被降伏 |
| 沙僧 | 金身罗汉 | 被降伏 |
| 唐僧 | 功德佛 | 被降伏 |
| 猪八戒 | 净坛使者 | 被降伏 |
+-----------+----------+--------+
mysql> select a.user_name,b.user_name,a.salary,b.grade,b.gradelower from user1 a join user2 b on a.salary between b.gradelower and b.grade;-- 非等值连接
+-----------+-----------+----------+------------+------------+
| user_name | user_name | salary | grade | gradelower |
+-----------+-----------+----------+------------+------------+
| 孙悟空 | 孙悟空 | 800000 | 900000 | 700000 |
| 沙僧 | 孙悟空 | 800000 | 900000 | 700000 |
| 猪八戒 | 牛魔王 | 90000000 | 1000000000 | 9000000 |
| 猪八戒 | 蛟魔王 | 90000000 | 1000000000 | 9000000 |
| 猪八戒 | 鹏魔王 | 90000000 | 1000000000 | 9000000 |
| 猪八戒 | 狮驼王 | 90000000 | 1000000000 | 9000000 |
+-----------+-----------+----------+------------+------------+
6 rows in set (0.00 sec)
内连接:把一张表看成两张表:如把员工的领导编号看成是领导的员工编号
mysql> select a.user_name,b.user_name from user1 a join user1 b on a.id=b.id2;
+-----------+-----------+
| user_name | user_name |
+-----------+-----------+
| 孙悟空 | 唐僧 |
| 沙僧 | 孙悟空 |
| 唐僧 | 沙僧 |
| 猪八戒 | 猪八戒 |
+-----------+-----------+
4 rows in set (0.00 sec)