1、內連接
語法:
SELECT 查詢欄位1,查詢欄位2, ... FROM 表1 [INNER] JOIN 表2 ON 表1.關系欄位=表2.關系欄位
準備資料
-- 若存在資料庫mydb則洗掉 DROP DATABASE IF EXISTS mydb; -- 創建資料庫mydb CREATE DATABASE mydb; -- 選擇資料庫mydb USE mydb; -- 創建部門表 CREATE TABLE department( did int (4) NOT NULL PRIMARY KEY, dname varchar(20) ); -- 創建員工表 CREATE TABLE employee ( eid int (4) NOT NULL PRIMARY KEY, ename varchar (20), eage int (2), departmentid int (4) NOT NULL ); -- 向部門表插入資料 INSERT INTO department VALUES(1001,'財務部'); INSERT INTO department VALUES(1002,'技術部'); INSERT INTO department VALUES(1003,'行政部'); INSERT INTO department VALUES(1004,'生活部'); -- 向員工表插入資料 INSERT INTO employee VALUES(1,'張三',19,1003); INSERT INTO employee VALUES(2,'李四',18,1002); INSERT INTO employee VALUES(3,'王五',20,1001); INSERT INTO employee VALUES(4,'趙六',20,1004);
查詢:
select employee.ename,department.dname from department inner join employee on department.did=employee.departmentid;
output:

2、外連接查詢-左連接
語法:
SELECT 查詢欄位1,查詢欄位2, ... FROM 表1 LEFT | RIGHT [OUTER] JOIN 表2 ON 表1.關系欄位=表2.關系欄位 WHERE 條件
2.1、LEFT [OUTER] JOIN 左(外)連接:回傳包括左表中的所有記錄和右表中符合連接條件的記錄,
2.2、RIGHT [OUTER] JOIN 右(外)連接:回傳包括右表中的所有記錄和左表中符合連接條件的記錄,
準備資料:
-- 若存在資料庫mydb則洗掉 DROP DATABASE IF EXISTS mydb; -- 創建資料庫mydb CREATE DATABASE mydb; -- 選擇資料庫mydb USE mydb; -- 創建班級表 CREATE TABLE class( cid int (4) NOT NULL PRIMARY KEY, cname varchar(20) ); -- 創建學生表 CREATE TABLE student ( sid int (4) NOT NULL PRIMARY KEY, sname varchar (20), sage int (2), classid int (4) NOT NULL ); -- 向班級表插入資料 INSERT INTO class VALUES(1001,'Java'); INSERT INTO class VALUES(1002,'C++'); INSERT INTO class VALUES(1003,'Python'); INSERT INTO class VALUES(1004,'PHP'); -- 向學生表插入資料 INSERT INTO student VALUES(1,'張三',20,1001); INSERT INTO student VALUES(2,'李四',21,1002); INSERT INTO student VALUES(3,'王五',24,1002); INSERT INTO student VALUES(4,'趙六',23,1003); INSERT INTO student VALUES(5,'Jack',22,1009);
查詢:
select class.cid,class.cname,student.sname from class left outer join student on class.cid=student.classid;
output:

3、外連接查詢-右連接
查詢:
select class.cid,class.cname,student.sname from class right outer join student on class.cid=student.classid;
output:

只有永不遏止的奮斗,才能使青春之花,即便是凋謝,也是壯麗地凋謝
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/547729.html
標籤:其他
下一篇:資料庫系統原理之資料庫編程
