sqlyog怎么查找表_mysql+sqlyog 多表查询练习

本文通过创建部门表和员工表,展示了如何在MySQL中进行多表查询操作。内容包括内连接、外连接和子查询,解释了如何获取员工信息及其对应的部门信息,并提供了左外连接和右外连接的例子。
摘要由CSDN通过智能技术生成

#创建部门表CREATE TABLEdept(

idINT PRIMARY KEYAUTO_INCREMENT,

NAMEVARBINARY(20)

);INSERT INTO dept(NAME) VALUES("开发部"),("市场部"),("财务部");

#创建员工表CREATE TABLEemp(

idINT PRIMARY KEYAUTO_INCREMENT,

NAMEVARBINARY(10),

genderCHAR(1),#性别

salaryDOUBLE,#薪水

join_date DATE,#入职日期

dept_idINT,FOREIGN KEY (dept_id) REFERENCESdept(id) #外键,关联部门表(部门表的主键)

);INSERT INTO emp(NAME,gender,salary,join_date,dept_id) VALUES ('孙悟空','男',7200,'2013-02-21',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);

SELECT COUNT(*) FROM emp,dept;

#笛卡尔积 A,B 两个集合,取这两个集合的所有组成情况

SELECT * FROM emp,dept;

#消除无用的数据,内连接查询,外链接查询,子查询

#查询所有员工信息和对应的部门信息

SELECT * FROM emp , dept WHERE emp.`dept_id` = dept.`id`;

id name gender salary join_date dept_id id name

1孙悟空男72002013-02-2111开发部

2猪八戒男36002010-12-0222市场部

3唐僧男90002008-08-0822市场部

4白骨精女50002015-10-0733财务部

5蜘蛛精女45002011-03-1411开发部

#查询员工表的名称,员工表的性别,部门名称

SELECT emp.`name` , emp.`gender`,dept.`name` FROM emp,dept WHERE emp.`dept_id` = dept.`id`;

SELECT

t1.name,t1.gender,t2.name

FROM

emp t1,dept t2

WHERE

t1.`dept_id` = t2.`id`;

name gender name

孙悟空男开发部

猪八戒男市场部

唐僧男市场部

白骨精女财务部

蜘蛛精女开发部

#左外连接 查询左表的所有数据以及其交集部分

SELECTt1.*,t2.`name` FROM emp t1 LEFT JOIN dept t2 ON t1.`dept_id` = t2.`id`;

id name gender salary join_date dept_id name

1孙悟空男72002013-02-211开发部

5蜘蛛精女45002011-03-141开发部

2猪八戒男36002010-12-022市场部

3唐僧男90002008-08-082市场部

4白骨精女50002015-10-073财务部

#右外连接

SELECTt1.*,t2.`name` FROM emp t1 RIGHT JOIN dept t2 ON t1.`dept_id` = t2.`id`;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值