文档章节

关联查询

CarlDing
 CarlDing
发布于 2016/04/16 10:21
字数 370
阅读 11
收藏 0

create table persons( id varchar(32) primary key, name varchar(30), age int ); --车表-外表 create table cars( id varchar(32) primary key, name varchar(30), price number(10,2), pid varchar(32), constraint cars_fk foreign key(pid) references persons(id))

1:查询某个人,有什么车 – 关联查询 insert into persons values('P001','Jack',44); insert into cars values('C001','Audi',40.00,'P001'); insert into cars values('C002','Auto',1.2,'P001');

insert into persons values('P002','Mary',33); insert into cars values('C003','Buick',18,'P002');

insert into persons values('P003','Alex',22);

insert into cars values('C004','BMW',45,null);

--以下的查询用的SQL92标准 select p.name,c.name from persons p,cars c where p.id=c.pid;

使用SQL99的标准:建议使用 innser join 内联接: --SQL99标准 select p.name,c.name from persons p inner join cars c on p.id=c.pid;

2:查询没有车的人 连接的方式: 内联接 左外 – 以左 left [outer] join select p.name,c.name from persons p left join cars c on p.id=c.pid where c.name is null; 右外 --SQL99标准 select p.name,c.name from persons p right outer join cars c on p.id=c.pid;

全外

连接的方式: Inner join Left outer join Right outer join Full outer join

3:查询有N部车的人 --查询pid在cars中出现的次数 select pid from cars group by pid having count(pid)=2;

--子查询 - 以下的子查询叫非相关子查询 - 即子查询可以独立执行的子查询叫非相关的子查询 select * from persons where id in(select pid from cars group by pid having count(pid)=2);

--以下是相关子查询 - 子查询不能独立执行。 select * from persons where (select count(*) from cars where cars.pid=persons.id)=0;

© 著作权归作者所有

CarlDing
粉丝 5
博文 106
码字总数 78103
作品 0
济南
其他
私信 提问
SSH框架之MyBatis专题3:关联关系查询

1 关联查询 当查询内容涉及具有关联关系的多个表时,就需要使用关联关系查询。根据表与表之间的关联关系的不同,关联查询分为四种: 1、一对一关联查询; 2、一对多关联查询; 3、多对一关联...

糖醋白糖
2018/04/06
0
0
Cakephp多表关联查询笔记

不可否认Cakephp对于查询的封装是有限制的,但是通过利用Cakephp的语法规则,可以很好的弥补这一点。 我们在应用中遇到的问题: {查询Note的ID小于10的所有User,User表和Note表是一对多关联...

Adam-Lee
2011/06/01
4.1K
0
hibernate fetch属性

Hibernate的fetch="join"和fetch="select" 的一点分析 fetch参数指定了关联对象抓取的方式是select查询还是join查询,select方式时先查询返回要查询的主体对象(列表),再根据关联外键id,每...

zdatbit
2016/07/18
22
0
【MyBatis框架】高级映射-延迟加载

延迟加载 1.什么是延迟加载 resultMap可以实现高级映射(使用association、collection实现一对一及一对多映射),association、collection具备延迟加载功能。 需求: 如果查询订单并且关联查...

Mysoft
2015/09/18
772
0
MyBatis 实践 -动态SQL/关联查询

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hanqing280441589/article/details/50761310 标签: Java与存储 动态SQL 动态SQL提供了对SQL语句的灵活操作,...

菜鸟-翡青
2016/02/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

代理模式之JDK动态代理 — “JDK Dynamic Proxy“

动态代理的原理是什么? 所谓的动态代理,他是一个代理机制,代理机制可以看作是对调用目标的一个包装,这样我们对目标代码的调用不是直接发生的,而是通过代理完成,通过代理可以有效的让调...

code-ortaerc
今天
5
0
学习记录(day05-标签操作、属性绑定、语句控制、数据绑定、事件绑定、案例用户登录)

[TOC] 1.1.1标签操作v-text&v-html v-text:会把data中绑定的数据值原样输出。 v-html:会把data中值输出,且会自动解析html代码 <!--可以将指定的内容显示到标签体中--><标签 v-text=""></......

庭前云落
今天
8
0
VMware vSphere的两种RDM磁盘

在VMware vSphere vCenter中创建虚拟机时,可以添加一种叫RDM的磁盘。 RDM - Raw Device Mapping,原始设备映射,那么,RDM磁盘是不是就可以称作为“原始设备映射磁盘”呢?这也是一种可以热...

大别阿郎
今天
12
0
【AngularJS学习笔记】02 小杂烩及学习总结

本文转载于:专业的前端网站☞【AngularJS学习笔记】02 小杂烩及学习总结 表格示例 <div ng-app="myApp" ng-controller="customersCtrl"> <table> <tr ng-repeat="x in names | orderBy ......

前端老手
昨天
16
0
Linux 内核的五大创新

在科技行业,创新这个词几乎和革命一样到处泛滥,所以很难将那些夸张的东西与真正令人振奋的东西区分开来。Linux内核被称为创新,但它又被称为现代计算中最大的奇迹,一个微观世界中的庞然大...

阮鹏
昨天
20
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部