1. 程式人生 > >mysql 資料操作 多表查詢 準備

mysql 資料操作 多表查詢 準備

 

 

為什麼需要多表查詢:

因為不可以把所有資料都放在一張表裡

 

我們把不同資料儲存 放在一張一張不同表 方便管理

但是資料還是一個整體,資料之間是有關聯關係 那就要把分散的資料,合併到一起進行查詢

 

 

 多表查詢概念:

通過連線方式,把有關係的表拼成一個整體,進行關聯查詢。

就是把多張表記錄 合併到一張表去查詢

 

 

新建資料庫

create database db6 charset=utf8;

 

use db6;

 

#建表
create
table department( id int, name varchar(20) ); create table employee( id int primary key auto_increment, name varchar(20), sex enum('male','female') not null default 'male', age int, dep_id int );
 

 

#插入資料
insert into department values
(200,'技術'),
(201,'人力資源'),
(202,'銷售'),
(203,'運營');

insert
into employee(name,sex,age,dep_id) values ('mike','male',18,200), ('alex','female',48,201), ('jack','male',38,201), ('yuanhao','female',28,202), ('liwenzhou','male',18,200), ('jingliyang','female',18,204) ;

 

 
#查看錶結構和資料
mysql> desc department;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | id | int(11) | YES | | NULL | | | name | varchar(20) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 2 rows in set (1.30 sec)

 

mysql> desc employee;
+--------+-----------------------+------+-----+---------+----------------+
| Field  | Type                  | Null | Key | Default | Extra          |
+--------+-----------------------+------+-----+---------+----------------+
| id     | int(11)               | NO   | PRI | NULL    | auto_increment |
| name   | varchar(20)           | YES  |     | NULL    |                |
| sex    | enum('male','female') | NO   |     | male    |                |
| age    | int(11)               | YES  |     | NULL    |                |
| dep_id | int(11)               | YES  |     | NULL    |                |
+--------+-----------------------+------+-----+---------+----------------+
5 rows in set (0.00 sec)

 

mysql> select * from employee;
+----+------------+--------+------+--------+
| id | name       | sex    | age  | dep_id |
+----+------------+--------+------+--------+
|  1 | mike       | male   |   18 |    200 |
|  2 | alex       | female |   48 |    201 |
|  3 | jack       | male   |   38 |    201 |
|  4 | yuanhao    | female |   28 |    202 |
|  5 | liwenzhou  | male   |   18 |    200 |
|  6 | jingliyang | female |   18 |    204 |
+----+------------+--------+------+--------+
6 rows in set (0.32 sec)

mysql> select * from department;
+------+--------------+
| id   | name         |
+------+--------------+
|  200 | 技術         |
|  201 | 人力資源     |
|  202 | 銷售         |
|  203 | 運營         |
+------+--------------+
4 rows in set (0.00 sec)