数据库-多表查询

概述:

        介绍:多表查询:指从多张表中查询数据

                笛卡儿积:笛卡儿积是指在数学中,两个集合(A集合和B集合)的所有组合情况(在多表查询时,需要消除无效的笛卡儿积)

        分类:

        连接查询:

                内连接:相当于查询A、B交集部分数据

                外连接:左外连接:查询左表所有数据

                               右外连接:查询右表所有数据

                子查询

内连接:

        语法:

隐式内连接:select 字段列表 from 表1,表2 where条件....;

显式内连接:select 字段列表 from 表1[inner] join 表2 on 连接条件....;

 示例:

数据库-多表查询_第1张图片

数据库-多表查询_第2张图片

左外连接:select 字段列表 from 表1 left [outer] join 表2 连接条件...;

右外连接:select 字段列表 from 表1 right [outer] join 表1 连接条件...;

示例:

数据库-多表查询_第3张图片数据库-多表查询_第4张图片

 子查询:

        介绍;SQL语句中嵌套select语句,称为嵌套查询,又称子查询

        形式:select * from t1 where column1=(select column1 from t2...);

        子查询外部的语句可以是insert/update/delete/select的任何一个,最常见的是select

分类:

        标量子查询:子查询返回的结果为单个值

        列子查询:子查询返回的结果为一列

        行子查询:子查询返回的结果为一行

        表子查询:子查询返回的结果为多行多列

标量子查询:子查询返回的结果是单个值(数字,字符串,日期等),最简单的形式

常用的操作符:=   <>   < <=  >   >= 

数据库-多表查询_第5张图片

数据库-多表查询_第6张图片 列子查询

        子查询返回的结果是一列

        常用的操作符:in ,not in等

数据库-多表查询_第7张图片

 行子查询:

        子查询返回的结果是一行(可以是多列)

        常用的操作符:=    <>    in   not in 

数据库-多表查询_第8张图片

表子查询:

        子查询返回的结果是多行多列,常作为临时表

        常用的操作符:in 

数据库-多表查询_第9张图片

你可能感兴趣的:(MySQL,javaWeb,数据库,mysql)