MySql 关联查询

1、内连接

将两张表中相同意义字段连接起来,返回结果是两个表中都存在的信息:

select * from TableA,TableB where TableA.字段c=TableB.字段c;

select * from TableA inner join TableB on TableA.字段c=TableB.字段c;

TableA.字段c=TableB.字段c是一种过滤条件。

2、左外连接

用第一张表中的每一条记录去匹配第二张表对应的记录,不管能不能匹配到记录,查询结果都显示第一个表的所有内容

select * from TableA left outer join TableB on TableA.字段c=TableB.字段c;

3、右外连接

用第二张表中的每一条记录去匹配第一张表对应的记录,不管能不能匹配到记录,查询结果都显示第二个表的所有内容

select * from TableA right outer join TableB on TableA.字段c=TableB.字段c;

4、全连接

左外连接与右外连接并集

select * from TableA left outer join TableB on TableA.字段c=TableB.字段c union select * from TableA right outer join TableB on TableA.字段c=TableB.字段c

5、关联子查询

将第一个查询的结果作为第二个查询的条件。

时间: 2025-01-12 06:19:49

MySql 关联查询的相关文章

mysql关联查询和联合查询

一.内联方式 1.传统关联查询 "select * from students,transcript where students.sid=transcript.sid and transcript.total>600 and transcript.date=2015-6"; 上面是查询出在2015-6月,月考中总成绩超过600的学生信息.where的条件有三个,要看出是哪些是关联条件,哪些是查询过滤还是挺简单,若是多个表多个查询条件那么就不是那么容易了 2.JOIN...ON

mysql 关联查询技巧

废话不多说,直接进入正题 #数据准备 班级表class: CREATE TABLE `class` ( `class_no` int(2) unsigned zerofill NOT NULL AUTO_INCREMENT COMMENT '班级编号', `class_name` varchar(30) CHARACTER SET utf8 NOT NULL COMMENT '班级名称', PRIMARY KEY (`class_no`) ) ENGINE=MyISAM DEFAULT CHAR

MySQL 关联查询 内连接

内连接    [INNER| CROSS] JOIN无条件内连接:无条件内连接,又名交叉连接/笛卡尔连接第一张表种的每一项会和另一张表的每一项依次组合#例:mysql>  select  *  from  student inner join  department;有条件内连接:在无条件的内连接基础上,加上一个ON子句当连接的时候,筛选出那些有实际意义的记录行来进行拼接#例:mysql> select   *  from   student  inner join  department  

mysql关联查询

mysql数据库的统计------生成统计信息 1.distinct:在一组之中将各个唯一的值找出来,如找出所有的品牌种类 mysql>select distinct brand_kind from brand;+---------------+| brand_kind |+---------------+| A                || B                || C                |+---------------+ 2.计数统计,使用count(*),

MySQL 关联查询  外连接 { LEFT| RIGHT } JOIN

左外连接: (以左表为基准)两张表做连接的时候,在连接条件不匹配的时候留下左表中的数据,而右表中的数据以NULL填充例:使用左连接把学生的数据全取出来,该学生没有学院信息的用NULL填充 mysql>  select * from  student  left join  department         ->  on dept_id= d_id; 右外连接: (以右表为基准)对两张表做连接的时候,在连接条件不匹配的时候留下右表中的数据,而左表中的数据以NULL填充例:使用右外连接,把没有

MySQL多表关联查询与存储过程

1.多表关联查询 --  **************关联查询(多表查询)**************** -- 需求:查询员工及其所在部门(显示员工姓名,部门名称) -- 1.1 交叉连接查询(不推荐.产生笛卡尔乘积现象:4 * 4=16,有些是重复记录) SELECT empName,deptName FROM employee,dept; -- 需求:查询员工及其所在部门(显示员工姓名,部门名称) -- 多表查询规则:1)确定查询哪些表   2)确定查询哪些字段   3)表与表之间连接条件

[转] hibernate Mysql 自增长 注解配置,表无关联的注解方式关联查询

不同数据库 自增长ID配置 正对不同的数据库可以同时使用         @Id         @GeneratedValue(strategy = GenerationType.AUTO) 2 针对mysql  @Id  @GeneratedValue(strategy = GenerationType.IDENTITY) 3 针对oracle        @Id        @GeneratedValue(strategy = GenerationType.SEQUENCE,gener

JDBC MySQL 多表关联查询查询

public static void main(String[] args) throws Exception{ Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mydb","root",""); String sql ="select

MySQL如何执行关联查询

MySQL中‘关联(join)’ 一词包含的意义比一般意义上理解的要更广泛.总的来说,MySQL认为任何一个查询都是一次‘关联’ --并不仅仅是一个查询需要到两个表的匹配才叫关联,索引在MySQL中,每一个查询,每一个片段(包括子查询,设置基于表单的select)都可能是关联. 所以,理解MySQL如何执行关联查询至关重要.我们先来看一个union 查询的例子.对于union查询,MySQL先将一系列的单个查询结果放到一个临时表中,然后再重新读出临时表数据来完成union查询.在MySQL的概念