Java数据库篇6——多表查询
Java数据库篇6——多表查询
1、笛卡尔积
交叉连接查询
设集合A={a, b},集合B={0, 1, 2},则两个集合的笛卡尔积为{(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}
2、 内连接查询
2.1、隐式内连接
SELECT 字段名 FROM 左表, 右表 WHERE 连接条件;
多表查询可以起别名,方便查询
2.2、显示内连接
SELECT 字段名 FROM 左表 [INNER] JOIN 右表 ON 条件
3、外连接查询
3.1、左连接
以左表为基准, 匹配右边表中的数据,如果匹配的上,就展示匹配到的数据 如果匹配不到, 左表中的数据正常展示, 右边的展示为null
SELECT 字段名 FROM 左表 LEFT [OUTER] JOIN 右表 ON 条件
3.2、右连接
以右表为基准,匹配左边表中的数据,如果能匹配到,展示匹配到的数据 如果匹配不到,右表中的数据正常展示, 左边展示为null
SELECT 字段名 FROM 左表 RIGHT [OUTER ]JOIN 右表 ON 条件
4、子查询
一条select 查询语句的结果, 作为另一条 select 语句的一部分
- 子查询必须放在小括号中
- 子查询一般作为父查询的查询条件使用
4.1、where型子查询
将子查询的结果, 作为父查询的比较条件
SELECT 查询字段 FROM 表 WHERE 字段=(子查询);
SELECT * FROM products WHERE price = (SELECT MAX(price) FROM products);
4.2、from型子查询
将子查询的结果, 作为 一张表,提供给父层查询使用
SELECT 查询字段 FROM (子查询)表别名 WHERE 条件;
4.3、exists型 子查询
子查询的结果是单列多行, 类似一个数组, 父层查询使用 IN 函数 ,包含子查 询的结果
SELECT 查询字段 FROM 表 WHERE 字段 IN (子查询);
Java数据库篇6——多表查询相关推荐
- Java数据库篇4——表的约束
Java数据库篇4--表的约束 1.非空约束 字段不允许为空 #创建表的时候添加 Create table 表名(列1 数据类型 not null,列2 数据类型,列3 数据类型 ); #创建表以后添 ...
- Java数据库篇8——索引、视图、存储过程、触发器
Java数据库篇8--索引.视图.存储过程.触发器 1.索引 1.1.索引是什么 在数据库表中,对字段建立索引可以大大提高查询速度.通过善用这些索引,可以令MySQL的查询和 运行更加高效 如果合理的 ...
- Java数据库篇7——数据库设计
Java数据库篇7--数据库设计 1.第一范式 列不可再分 每一列属性都是不可再分的属性值,确保每一列的原子性 两列的属性相近或相似或一样,尽量合并属性一样的列,确保不产生冗余数据 2.第二范式 属性 ...
- Java数据库篇3——SQL
Java数据库篇3--SQL 结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库 查询和程序设计语言,用于存取数据以及查询.更新和管 ...
- Mybatis(第二篇:联表查询)
Mybatis(第二篇:联表查询) 目录 Mybatis(第二篇:联表查询) 一.前期 项目的搭建 1.数据库 2.IDEA项目架构搭建 2.1 pom.xml 2.2 domain包 2.2.1 D ...
- Java数据库篇9——备份与还原、忘记密码
Java数据库篇9--备份与还原.忘记密码 1.备份 备份的应用场景 在服务器进行数据传输.数据存储和数据交换,就有可能产生数据故障.比如发生 意外停机或存储介质损坏. 这时,如果没有采取数据备份和数 ...
- Java数据库篇5——事务
Java数据库篇5--事务 1.什么是事务 事务是一个整体,由一条或者多条SQL 语句组成,这些SQL语句要么都执行成功,要么都执行失败, 只要有 一条SQL出现异常,整个操作就会回滚,整个业务执行失 ...
- Java数据库篇1——数据库配置
Java数据库篇1--数据库配置 1.数据库 数据库(DataBase) 就是存储和管理数据的仓库 本质是一个文件系统, 还是以文件的方式,将数据保存在电脑上 2.数据库的优点 存储方式 优点 缺点 ...
- Java数据库篇2——数据库基本操作
Java数据库篇2--数据库基本操作 1.启动.停止.服务 net start mysql net stop mysql 2.登入登出 本地 Mysql -u用户名 -p密码Mysql -u用户名 - ...
最新文章
- LINQ篇:ASP.NET using LINQ(Part One) Scott大师的产物
- Jquery 常用方法经典总结
- (五)LESS 规范
- ASP.NET Core Filter如何支持依赖注入
- 传感器系列之4.3流量传感器
- hashmap怎么取值_HashMap?面试?我是谁?我在哪
- ehcache springboot_Spring Boot 入门示例合集(附源代码)
- SQL 宝典(本人总结供学习使用)
- opencv怎么安装?opencv下载安装教程
- 数据安全--安全网关
- c# 非阻塞算法_c# – 了解非阻塞线程同步和Thread.MemoryBarrier
- java开发常用在线工具整理
- 四性检测功能在档案系统中的实现
- SPSS 进行两因素重复测量方差分析(Two-way repeated-measures ANOVA)详细操作步骤 (上)
- 这知道这个错误是咋回事啊?
- 专访智齿科技吴立楠:智能客服行业发展的三个趋势
- restTemplate接收image/jpeg格式
- 数据库expecting ''', found 'EOF'异常——原载于我的百度空间
- java jsp使用flash播放mp4,(jsp/html)网页上嵌入播放器(常用播放器代码整理)
- 现有论文和作者两个实体,论文实体的属性包括题目、期刊名称、年份、期刊号;作者实体的属性包括姓名、单位、地址;一篇论文可以有多个作者,且每一位作者写过多篇论文,在每一篇论文中有作者的顺序号。请完成以下操
热门文章
- [转载] 【零基础学爬虫】python中的yield详解
- php脚本开头注释_PHP文件注释标记及规范小结
- 什么为java运行时的环境_什么是JRE?Java运行时环境简介(一)
- js 数组添加n次相同元素_数组中两次出现相同元素之间的最大距离
- c# uri.host_C#| Uri.EscapeUriString()方法与示例
- Python日历模块| weekheader()方法与示例
- 英语笔记:词组句子:0712
- 内联命名空间(inline namespace)
- mysql数据存储和函数_MySQL数据库——存储和函数
- python 共享文件夹 密码_用不同的用户名和密码登录网络上的共享文件夹