[JavaWeb-MySQL]多表查询概述

Posted Wecccccccc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[JavaWeb-MySQL]多表查询概述相关的知识,希望对你有一定的参考价值。

多表查询:

* 查询语法:
	select
		列名列表
	from
		表名列表
	where....
* 准备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 .取这两个集合的所有组成情况。
	* 要完成多表查询,需要消除无用的数据

示例如下:

SELECT *FROM emp;

在这里插入图片描述

SELECT *FROM dept;

在这里插入图片描述

SELECT *FROM emp,dept;

在这里插入图片描述

我们可以看到,出现了无用数据,因此,进行多表查询,我们要消除无用数据。

以上是关于[JavaWeb-MySQL]多表查询概述的主要内容,如果未能解决你的问题,请参考以下文章

[JavaWeb-MySQL]多表查询(内连接,外连接,子查询)

[JavaWeb-MySQL]多表关系介绍

多表查询之多表查询的概述

多表查询-概述

Hibernate的HQL多表查询

[JavaWeb-MySQL]DQL_查询表中记录,语句