posts - 397,comments - 0,views - 25332

select * from 表名,表名 查询多表

sql:

复制代码
-- 创建部门表
CREATE TABLE dept(
          id INT PRIMARY KEY AUTO_INCREMENT,
          NAME VARCHAR(20)
 );
 INSERT INTO dept(NAME) VALUES ('开发部'),('市场部'),('财务部');

# 创建员工表
 CREATE TABLE emp(
           id INT PRIMARY KEY AUTO_INCREMENT,
           NAME VARCHAR(10),
           gender CHAR(1), -- 性别
           salary DOUBLE, -- 工资
           join_date DATE, -- 入职时间
           dept_id INT,
           FOREIGN KEY (dept_id) REFERENCES dept(id) -- 外键,关联部门表(部门表的主键)
 );

INSERT INTO emp (NAME,gender,salary,join_date,dept_id) VALUES('孙悟空','',7200,'2013-02-24',1);
INSERT INTO emp (NAME,gender,salary,join_date,dept_id) VALUES('猪八戒','',3600,'2010-12-02',2);        
INSERT INTO emp (NAME,gender,salary,join_date,dept_id) VALUES('唐僧','',9000,'2008-08-08',2); 
INSERT INTO emp (NAME,gender,salary,join_date,dept_id) VALUES('白骨精','',5000,'2015-10-07',3); 
INSERT INTO emp (NAME,gender,salary,join_date,dept_id) VALUES('蜘蛛精','',4500,'2011-03-14',1);
复制代码

笛卡尔积

   有两个集合 A,B  取这个集合的所有组成情况

   要完成多表查询,需要消除无用的数据

 

 

 

 

 

 

 

 

 

 

多表查询_内连接

    内连接查询:

          隐式内连接使用:使用where消除无用的数据

          例子

          

-- 吃查询所有员工信息和对应的部门信息
SELECT * FROM emp,dept WHERE emp.dept_id = dept_id;

  

 

 

 

-- 查询员工表的名称性别,部门表的名称
SELECT emp.name,emp.gender,dept.NAME FROM emp,dept WHERE emp.dept_id = dept.id;

 

 

 

          显示内连接:

语法:select 字段列表 from 表名1 [inner] join 表名2 on 条件

SELECT * FROM emp INNER JOIN dept ON emp.dept_id = dept_id;

 

SELECT * FROM emp JOIN dept on emp.dept_id = dept.id;

 

 

 

 

posted on   淤泥不染  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示