`

又一个sql

阅读更多
今天又遇到一个比较复杂的sql:
有用户表users,用户资料表user_details,还有一个用户收货地址表user_address,通常一个用户会将他的常用发货地址保存在user_address表中,方便以后的使用。
关键的表结构
users
id,true_name,scores

user_details
user_id, address,qq,email

user_address
id,address,created_at

users和user_details是一对一,users和user_address是一对多

现在我要查出
用户号,用户姓名,用户最近的一次发货地址(在这里使用最新创建的作为最近使用的),用户的通信地址(可能用户还没有设置收货地址,所以也取出客户资料中填写的联系地址),并且积分scores大于300000
即要显示的列如下:
users表中的id,users表中的true_name,user_address表中的最新的发货地址address,user_details表中的address。


答案是什么呢?











select u.id,u.true_name,uad.address,ud.address from users u
join user_details ud on ud.user_id = u.id
left join
(
select * from user_addresses where id in ( select max(id) from user_addresses group by  user_id )
) 
uad  on uad.user_id=u.id
where u.scores>=300000;
分享到:
评论

相关推荐

    合并多个sql文件

    标题“合并多个sql文件”所指的就是这样一个任务,即把分散的SQL脚本整合到一起,形成一个综合的SQL文件。 描述中提到的工具支持“utf-8”格式,这意味着它能够处理包含多种语言或特殊字符的数据库内容。UTF-8是一...

    sql去掉最后一个字符

    sql去掉最后一个字符,sql去掉最后一个字符

    sql行列转换、一个字段包含另一个字段.sql

    sql行列转换、一个字段包含另一个字段.sql

    SQL 语法 SQL 总结 SQL教程

    SQL 基础 SQL 首页 SQL 简介 SQL 语法 SQL select SQL distinct SQL where SQL AND & OR SQL Order By SQL insert SQL update SQL delete SQL 高级 SQL Top SQL Like SQL 通配符 SQL In SQL Between ...

    SQLServer中如何将一个字段的多个记录值合在一行显示

    SQLServer 中将一个字段的多个记录值合并到一行显示的实现方法 SQL Server 是一种关系型数据库管理系统,具有强大的数据处理能力和存储能力。在实际应用中,我们经常需要将一个字段的多个记录值合并到一行显示,以...

    sql server 导入超大SQL脚本文件

    osql 是 SQL Server 提供的一个命令行工具,用于执行 SQL 语句和运行 SQL 脚本文件。osql 工具可以在命令行下执行 SQL 语句,非常适合批量执行 SQL 任务。 如何使用 osql 导入超大 SQL 脚本文件? 在 SQL Server ...

    一个简单的sql循环语句脚本

    本话题将详细讲解一个简单的SQL循环语句脚本及其相关知识。 一、SQL循环语句概述 SQL循环语句主要包括WHILE循环和FOR循环,它们允许我们在满足特定条件时重复执行一段代码块。在PL/SQL和T-SQL中,还有BEGIN-END...

    SQL优化 SQL优化软件 SQL优化工具

    总的来说,SQL优化是一个系统性的工作,需要结合硬件配置、数据库设计、SQL编写等多个方面进行综合考虑。而借助专业的SQL优化工具,这个过程可以变得更加高效和精确,从而确保数据库系统的稳定和高效运行。

    SQL SQLPrompt 9 SQL 2016/2017可用

    SQL Prompt是Redgate Software开发的一款高效SQL代码编辑工具,它为SQL Server的开发人员提供了智能提示、格式化、重构和代码分析等功能,极大地提升了编写和维护SQL代码的效率。SQL Prompt 9是该系列的最新版本,...

    pl sql批量执行多个sql文件和存储过程

    1. **将脚本放到同一目录**:将所有需要执行的SQL脚本文件放在同一个目录下,例如文中提到的例子是`D:\sqls`。 2. **创建并编辑PDC文件**:在上述目录下创建一个PDC(Procedure Definition File)文件,例如`batch....

    SQLPrompt for SQLServer2016 智能提示插件 SQL2016 提示

    SQL Prompt 是一款拥有SQL智能提示功能的SQL Server和VS插件。SQL Prompt能根据数据库的对象名称,语法和用户编写的代码片段自动进行检索,智能的为用户提供唯一合适的代码选择。自动脚本设置为用户提供了简单的代码...

    带SQL注入的一个ASP网站源码

    SQL注入是网络安全领域中的一个重要话题,它允许攻击者通过输入恶意的SQL语句来操纵数据库,获取敏感信息,甚至完全控制网站。 SQL注入通常发生在网站的输入验证不充分时,比如用户登录、搜索功能等。在这个ASP网站...

    sqlserver自动生成sql语句工具sqlserver转oracle

    市场上存在许多这样的工具,如SSMA(SQL Server Migration Assistant) for Oracle,这是一个官方提供的迁移工具,能自动分析SQL Server的架构,并生成适合Oracle的DDL(Data Definition Language)和DML(Data ...

    sql-server中复制数据库某一个表到另一个数据库中

    在SQL Server环境中,有时我们需要将一个数据库中的某个表复制到另一个数据库中,这可能是为了备份、数据迁移或创建测试环境等目的。根据提供的标题、描述和部分代码内容,我们可以整理出一套较为完整的操作流程和...

    商城sql完整sql

    商城sql商城sql商城sql商城sql商城sql商城sql商城sql商城sql

    SQL语句实现跨Sql server数据库操作实例

    接下来,我们再看一个更复杂的例子,即如何将一个SQL Server实例中的数据插入到另一个SQL Server实例的表中。假设需要将192.168.1.2的SQL Server实例(数据库名为TT)中表test2的数据插入到192.168.1.1的SQL Server...

    SQL语句教程 SQL指令 表格处理 SQL语法

    SQL语句教程 SQL指令 表格处理 SQL语法 无论您是一位 SQL 的新手,或是一位只是需要对 SQL 复习一下的资料仓储业界老将, 您就来对地方了。...- SQL语法: 这一页列出所有在这个教材中被提到的 SQL 语法。

    SQL参数化(防止SQL注入)

    在第一个方式中,我们可以看到ExecuteCommand方法,它接受一个SQL语句和一个参数数组。这个方法将参数添加到SqlCommand对象中,然后执行该命令。在调用这个方法时,我们需要传递参数,例如string sql = "Update ...

    sqldeveloper安装包

    sql安装包sql安装包sql安装包sql安装包sql安装包sql安装包sql安装包sql安装包sql安装包sql安装包sql安装包sql安装包sql安装包sql安装包sql安装包sql安装包sql安装包sql安装包sql安装包sql安装包sql安装包sql安装包...

Global site tag (gtag.js) - Google Analytics