mysql 資料操作 多表查詢 準備
阿新 • • 發佈:2018-11-11
為什麼需要多表查詢:
因為不可以把所有資料都放在一張表裡
我們把不同資料儲存 放在一張一張不同表 方便管理
但是資料還是一個整體,資料之間是有關聯關係 那就要把分散的資料,合併到一起進行查詢
多表查詢概念:
通過連線方式,把有關係的表拼成一個整體,進行關聯查詢。
就是把多張表記錄 合併到一張表去查詢
新建資料庫
create database db6 charset=utf8;
use db6;
#建表
createtable 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,'運營'); insertinto 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)