标签:deptId demp1 数据库 emp2 emp deptName location
CREATE TABLE demp1
(
deptId INT PRIMARY KEY AUTO_INCREMENT,
deptName VARCHAR(20),
location VARCHAR(50)
);
CREATE TABLE emp2(
emp_id INT PRIMARY KEY AUTO_INCREMENT,
emp_name VARCHAR(30),
age INT,
deptId INT,
CONSTRAINT dept_emp_id FOREIGN KEY (deptId) REFERENCES demp1(deptId)
);
INSERT INTO demp1(deptName, location) VALUES ('销售部', '广州');
INSERT INTO demp1(deptName, location) VALUES ('开发部', '上海');
INSERT INTO demp1(deptName, location) VALUES ('实施部', '深圳');
INSERT INTO emp2(emp_name, age, deptId) VALUES ('张三', 18, 1);
INSERT INTO emp2(emp_name, age, deptId) VALUES ('李四', 18, 2);
INSERT INTO emp2(emp_name, age, deptId) VALUES ('王五', 18, 2);
SELECT * FROM demp1;
SELECT * FROM emp2;
表的联合查询
多表的联合查询 INNER JOIN ON 内连接, 将左右两个边表有数据就都查出来,没有数据则不展示
SELECT e.*, d.deptName
, d.location
FROM demp1 d INNER JOIN emp2 e ON d.deptId
= e.deptId
多表查询 左连接 注意,查询已左边表为主表,主表的数据全部展示,从表数据,有则直接展示,没有则使用NULL 进行填充
SELECT e.*, d.deptName
, d.location
FROM demp1 d LEFT JOIN emp2 e ON d.deptId
= e.deptId
多表查询 左连接 注意,查询已右边表为主表,主表的数据全部展示,从表数据,有则直接展示,没有则使用NULL 进行填充
SELECT e.*, d.deptName
, d.location
FROM demp1 d RIGHT JOIN emp2 e ON d.deptId
= e.deptId
内连接的简化写法
SELECT e.*, d.deptName
, d.location
FROM demp1 d, emp2 e WHERE d.deptId
= e.deptId
注意:多表连接,如果不添加外键相等的条件则会出现, 出现数据的冗余。两张表的数据都会一一进行组合。
SELECT e.*, d.deptName
, d.location
FROM demp1 d, emp2 e
数据删除 关键字是用delete
DELETE FROM emp WHERE empId = 3;
数据修改
SELECT * FROM emp;
UPDATE emp SET empName = '王五', sex = '男' WHERE empId = 2;
标签:deptId,demp1,数据库,emp2,emp,deptName,location 来源: https://www.cnblogs.com/Sorry-/p/13949459.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。