表关联查询

(1)

$model = M();

$info = $model->table(‘vote_info‘)->alias(‘v‘)

->field(‘v.*, u.real_name, g.group_name‘)

->join(‘user_info as u on v.user_id = u.id‘)

->join(‘group_info as g on g.id = u.group_id‘)

->where($where)

->order(‘v.create_time desc‘)

->select();

$model = M();

$list = $model->table("message m")

->field("m.time,m.content,u.nickname as name,u.head_img as img")

->join("left join user_info as u on m.user_id=u.id")

->where($map)->select();

$model = M();

$list = $model->table("message m left join user_info u on m.user_id=u.id")

->field("m.time,m.content,u.nickname as name,u.head_img as img")

->where($map)->select();

(2)

$sql = "SELECT u.real_name, n.id, n.note_title, n.note_tags, n.create_time, t.type_name FROM notes_info AS n INNER JOIN user_info AS u ON n.user_id=u.id INNER JOIN note_type AS t ON n.sort_id=t.id WHERE n.status=0 AND n.user_id=".$where[‘user_id‘]." ORDER BY n.id DESC";

$res = $personal_list->query($sql);

select a.id,a.name,a.keyword,a.descripttion,b.l_id,b.listcoment,b.text from dome as a, list as b where a.id=b.id and a.id=1 order by a.sord ASC,order by id DESC;

我们也可以改写成LEFT JOIN ..ON语句

select a.id,a.name,a.keyword,a.description,b.l_id,b.listcoment,b.text from dome as a LEFT JOIN list as b ON a.id=b.id where a.id=1 order by a.sord ASC,order by id DESC;

总体来说第二条语句是比较实用,好处在查询数据表dome表的数据,不论数据表list中是否有dome中的数据那么都会查询的出来dome中的值

第一条查询语句与第二条语句不通之处是查询dome数据表与list数据表中的id为1时,如果dome中有数据而list中没有数据那么查询出来的结果为空,

也可以多关联查询语句与双关联查询方法类似

from dome as a LEFT JOIN list as b ON a.id=b.id,LEFT JOIN TABLE AS c ON a.id=c.id,LEFT JOIN TABLE as d ON a.id=d.id

group by语句

当语句中出现count或者max 或者其他的一些函数的时候就会用到group by语句

select a.*,count(b.id) from dome as a left join list as b ON a.id=b.id where a.id=1 GROUP BY a.id;

时间: 2024-11-20 13:34:06

表关联查询的相关文章

Hibernate-多表关联查询结果的处理方法

Hibernate多表查询结果处理 (2014-07-06 20:45:40) 转载▼ 标签: hibernate 多表查询 结果集处理 分类: Java 如果我们在Hibernate中需要查询多个表的不同字段,那么如何来获取Hibernate多表查询的结果呢?有两种方式: 1. 对各个字段分别转化成对应类型,如下: Java代码: Query q = session.createQuery(" select members, classInfo.className " + "

RDIFramework.NET 中多表关联查询分页实例

RDIFramework.NET 中多表关联查询分页实例 RDIFramework.NET,基于.NET的快速信息化系统开发.整合框架,给用户和开发者最佳的.Net框架部署方案.该框架以SOA范式作为指导思想,作为异质系统整合与互操作性.分布式应用提供了可行的解决方案. 分页非常的常见,基本任何项目都会涉及到分页,这没什么好谈的,大多数我们分页对单表的分页比较多,对多表的分页我们可以通过视图来实现,当然还有其他的方式,在这儿,我以一个实例展示下使用我们的RDIFramework.NET来实现多表

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

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

图解SQL多表关联查询

图解SQL多表关联查询 网上看了篇文章关于多表连接的,感觉很好,记录下来,以便日后自己学习  内连接 左连接 右连接 全外连接

Yii2中多表关联查询(join、joinwith) with是不执行sql的

Yii2中多表关联查询(join.joinwith) 我们用实例来说明这一部分 表结构 现在有客户表.订单表.图书表.作者表, 客户表Customer (id customer_name) 订单表Order (id order_name customer_id book_id) 图书表 (id book_name author_id) 作者表 (id author_name) 模型定义 下面是这4个个模型的定义,只写出其中的关联 Customer class Customer extends \

mark---[mysql多表关联查询的优化方法]

对于一个网站来说,数据库的结构至关重要.即要利于存储(入库不阻塞),又要利于查询(查询不锁表).网站数据库优化经验是一个积累的过程.下面就对多表关联查询的优化方法,举例说明. 现在社区分享类网站很火,就拿方维购物分享网站举例说明吧.也是对二次开发方维购物分享网站的一点总结,高手可以飞过. 购物分享的关键表有:分享表.图片表.文件表.评论表.标签表.分类表等. 围绕分享的表就么多,哇,那也不少啊.当我们查看一个图片的详细信息时,就要显示以上表里的信息.显示图片所属的分类.给图片打的标签.图片的评论

SQL两表关联查询&批量修改字段值

SQL关联查询&修改字段,正确范例如下: --批量修改报告单位名称&更新时间 --tt和tp两表关联查询,将符合条件的tt表中的principal字段更新到tp表的ruperson字段 merge into nhis34.t_publicplaces tp using standard.t_organization tt on (tt.orgcode = tp.r_orgcode and tp.create_time > '2015-05-07 00:00:00') when mat

oracle02--多表关联查询

1. 多表(关联)查询 多表查询也称之为关联查询.多表关联查询等,主要是指通过多个表的关联来获取数据的一种方式. 1.1. 多表映射关系 一对多:A表的一行数据,对应B表中的多条.如:一个部门可以对应多个员工. 多对一:B表中的多条对应A表的一行数据.如:多个员工对应一个部门. 多对多:学生和选修课表----学生和课程对应表. 一对一:人员基本信息和人员信息扩展表. 1.2. 笛卡尔集 笛卡尔集对于我们数据库的数据查询结果的影响: 1. 数据冗余.---笛卡尔集并不是我们所需要的数据. 2. 效

EF模式下 多表关联查询结果作为数据源 gridview无法编辑的问题解决思路

之前做项目都习惯了使用SQL方便又快捷,但是近期领导要求使用对象实体的方式进行程序的开发 比较了多个ORM框架之后 决定还是采用微软自家的EF吧 .初次使用EF,没有什么经验 ,在实际使用过程中 遇到了一些问题,也折腾了好长时间... 前天在开发某个功能的时候 一个小兄弟 就发现 采用EF模式 在多表关联查询的结果作为数据源的情况下 gridview可以正常的显示 但是无法进行编辑,各种属性也都没问题,这可怎么办?百度之,有人说这是因为EF下gridview编辑都是依托于实体类的 ,多表关联的结

Yii2中多表关联查询(join、joinwith)

我们用实例来说明这一部分 表结构 现在有客户表.订单表.图书表.作者表, 客户表Customer   (id  customer_name) 订单表Order          (id  order_name       customer_id   book_id) 图书表                    (id  book_name       author_id) 作者表                    (id  author_name) 模型定义 下面是这4个个模型的定义,只写