mysql表的内连接,左连接,右连接,全连接,自然连接

mysql> desc department;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id       | int(11)     | NO   | PRI | 0       |       |
| dep_name | varchar(20) | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
2 rows in set (0.01 sec)

mysql> desc employee;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| emp_id   | int(11)     | YES  |     | NULL    |       |
| emp_name | varchar(20) | YES  |     | NULL    |       |
| dep_id   | int(11)     | YES  | MUL | NULL    |       |
+----------+-------------+------+-----+---------+-------+
3 rows in set (0.01 sec)

mysql> select e.emp_id,e.emp_name,d.id,d.dep_name from employee as e,department as d where e.dep_id=d.id;
+--------+----------+----+----------+
| emp_id | emp_name | id | dep_name |
+--------+----------+----+----------+
|      1 | cai      |  1 | java     |
|      2 | tang     |  1 | java     |
|      3 | zhou     |  2 | c#       |
|      4 | wang     |  2 | c#       |
|      5 | jiao     |  2 | c#       |
+--------+----------+----+----------+
5 rows in set (0.05 sec)

mysql> select e.emp_id,e.emp_name,d.id,d.dep_name from employee as e inner join  department as d on e.dep_id=d.id;
+--------+----------+----+----------+
| emp_id | emp_name | id | dep_name |
+--------+----------+----+----------+
|      1 | cai      |  1 | java     |
|      2 | tang     |  1 | java     |
|      3 | zhou     |  2 | c#       |
|      4 | wang     |  2 | c#       |
|      5 | jiao     |  2 | c#       |
+--------+----------+----+----------+
5 rows in set (0.00 sec)

mysql> select e.emp_id,e.emp_name,d.id,d.dep_name from employee as e left outer join  department as d on e.dep_id=d.id;
+--------+----------+------+----------+
| emp_id | emp_name | id   | dep_name |
+--------+----------+------+----------+
|      1 | cai      |    1 | java     |
|      2 | tang     |    1 | java     |
|      3 | zhou     |    2 | c#       |
|      4 | wang     |    2 | c#       |
|      5 | jiao     |    2 | c#       |
+--------+----------+------+----------+
5 rows in set (0.07 sec)

mysql> select e.emp_id,e.emp_name,d.id,d.dep_name from employee as e right outer join  department as d on e.dep_id=d.id;
+--------+----------+----+----------+
| emp_id | emp_name | id | dep_name |
+--------+----------+----+----------+
|      1 | cai      |  1 | java     |
|      2 | tang     |  1 | java     |
|      3 | zhou     |  2 | c#       |
|      4 | wang     |  2 | c#       |
|      5 | jiao     |  2 | c#       |
|   NULL | NULL     |  3 | php      |
+--------+----------+----+----------+
6 rows in set (0.00 sec)

mysql> select e.emp_id,e.emp_name,d.id,d.dep_name from employee as e right outer join  department as d on e.dep_id=d.id union select e.emp_id,e.emp_name,d.id,d.emp_name from employee as e left outer join department as d on e.dep_id=d.id;
ERROR 1054 (42S22): Unknown column 'd.emp_name' in 'field list'
mysql> select e.emp_id,e.emp_name,d.id,d.dep_name from employee as e right outer join  department as d on e.dep_id=d.id union select e.emp_id,e.emp_name,d.id,d.dep_name from employee as e left outer join department as d on e.dep_id=d.id;
+--------+----------+------+----------+
| emp_id | emp_name | id   | dep_name |
+--------+----------+------+----------+
|      1 | cai      |    1 | java     |
|      2 | tang     |    1 | java     |
|      3 | zhou     |    2 | c#       |
|      4 | wang     |    2 | c#       |
|      5 | jiao     |    2 | c#       |
|   NULL | NULL     |    3 | php      |
+--------+----------+------+----------+
6 rows in set (0.00 sec)

mysql> alter table employee
    -> change column emp_id id;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 2
mysql> drop table employee
    -> ;
Query OK, 0 rows affected (0.06 sec)

mysql> drop table department;
Query OK, 0 rows affected (0.07 sec)

mysql> exit

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值