User currentUser = [SELECT Id, Profile.Name,UserRole.Name FROM User WHERE Id = :UserInfo.getUserId()];

在子记录中查询父记录

实例1:

  1. Project__c pro = [SELECT Id, Name, Account__r.Name, P_Status__c, P_Plan_Complete_Date__c, P_Actual_Complete_Date__c
  2. FROM Project__c
  3. WHERE P_Status__c='Finishing'
  4. LIMIT 1];

其中Account为自定义的关系字段,Project为自定义的对象

实例2:

  1. Opportunity opp = [select Name, Account.Name from Opportunity limit 1];

2、在父记录中查询相关的子记录

  1. Account acc = [select name, (select name from opportunities) from account limit 1];
  2. system.debug('account name:' + acc.name);
  3. List opp = acc.opportunities;
  4. system.debug('number of opportunities:' + opp.size());
  5. for (opportunity op : opp) {
  6. system.debug('opportunity name:' + op.name);
  7. }

3、从junction对象里,查询与之master-details关系的两个details记录

数据模型图如下:


查询需求:查询会议名称日期及与之相关的发言人姓名。

  1. SELECT Session__r.Name,
  2. Session__r.Session_Date__c,
  3. Speaker__r.First_Name__c,
  4. Speaker__r.Last_Name__c
  5. FROM Session_Speaker__c
  6. ORDER BY Session__r.Session_Date__c,
  7. Session__r.Name

示例:

1-1 、下面查询返回与Closed Won的商机相关的Account的Id和Name:

  1. SELECT Id, Name FROM Account
  2. WHERE Id IN
  3. ( SELECT AccountId
  4. FROM Opportunity
  5. WHERE StageName = 'Closed Won'
  6. )

1-2、下面查询返回联系人来源于Web的商机Id

  1. SELECT Id FROM Opportunity
  2. WHERE AccountId NOT IN
  3. (
  4. SELECT AccountId
  5. FROM Contact
  6. WHERE LeadSource = 'Web'
  7. )

1-3、下面查询返回与Closed Won商机且与LeadSource为Web的联系人相关的Account的Id和Name

  1. SELECT Id, Name, Owner.UserName  FROM Account
  2. WHERE Id IN (SELECT AccountId FROM Contact WHERE LeadSource = 'Web')
  3. AND Id IN (SELECT Accountid FROM Opportunity WHERE StageName = 'Prospecting')

1-4、在查询语句中使用 [ORDER BY fieldOrderByList {ASC|DESC} [NULLS {FIRST|LAST}] ]
未使用Example:

  1. SELECT Tender_Project__r.Name, Bid_Amount__c, Is_Finalists_Competitive__c, Bid_Price_Fomula__c, Supplier_Bid_Price__c, Bidding_Ranking__c, CreatedDate
  2. FROM Advertiser_Tender_Relationship__c
  3. WHERE Tender_Project__c = 'a0L7F000000JyMk' <span style="color:#ff0000;">ORDER BY Bidding_Ranking__c ASC</span>

效果预览:

使用后Example:

  1. SELECT Tender_Project__r.Name, Bid_Amount__c, Is_Finalists_Competitive__c, Bid_Price_Fomula__c, Supplier_Bid_Price__c, Bidding_Ranking__c, CreatedDate
  2. FROM Advertiser_Tender_Relationship__c
  3. WHERE Tender_Project__c = 'a0L7F000000JyMk' <span style="color:#ff0000;">ORDER BY Bidding_Ranking__c ASC NULLS LAST</span>




047_SOQL 基本查询总结的更多相关文章

  1. 使用TSQL查询和更新 JSON 数据

    JSON是一个非常流行的,用于数据交换的文本数据(textual data)格式,主要用于Web和移动应用程序中.JSON 使用“键/值对”(Key:Value pair)存储数据,能够表示嵌套键值对 ...

  2. UWP 律师查询 MVVM

    APP简介 律师查询是基于聚合数据的律师查询接口做的,这个接口目前处于停用状态,但是,由于我是之前申请的,所以,还可以用,应该是无法再申请了. 效果图 开发 一.HttpHelper 既然是请求接口的 ...

  3. Elasticsearch 5.0 中term 查询和match 查询的认识

    Elasticsearch 5.0 关于term query和match query的认识 一.基本情况 前言:term query和match query牵扯的东西比较多,例如分词器.mapping ...

  4. ASP.NET Aries 入门开发教程4:查询区的下拉配置

    背景: 今天去深圳溜达了一天,刚回来,看到首页都是微软大法好,看来离.NET的春天就差3个月了~~ 回到正题,这篇的教程讲解下拉配置. 查询区的下拉配置: 1:查询框怎么配置成下拉? 在配置表头:格式 ...

  5. ASP.NET Aries 入门开发教程3:开发一个列表页面及操控查询区

    前言: Aries框架毕竟是开发框架,所以重点还是要写代码的,这样开发人员才不会失业,哈. 步骤1:新建html 建一个Html,主要有三步: 1:引入Aries.Loader.js 2:弄一个tab ...

  6. ExtJS 4.2 业务开发(二)数据展示和查询

    本篇开始模拟一个船舶管理系统,提供查询.添加.修改船舶的功能,这里介绍其中的数据展示和查询功能. 目录 1. 数据展示 2. 数据查询 3. 在线演示 1. 数据展示 在这里我们将模拟一个船舶管理系统 ...

  7. 深入理解MySql子查询IN的执行和优化

    IN为什么慢? 在应用程序中使用子查询后,SQL语句的查询性能变得非常糟糕.例如: SELECT driver_id FROM driver where driver_id in (SELECT dr ...

  8. ElasticSearch 5学习(10)——结构化查询(包括新特性)

    之前我们所有的查询都属于命令行查询,但是不利于复杂的查询,而且一般在项目开发中不使用命令行查询方式,只有在调试测试时使用简单命令行查询,但是,如果想要善用搜索,我们必须使用请求体查询(request ...

  9. 【初学python】使用python连接mysql数据查询结果并显示

    因为测试工作经常需要与后台数据库进行数据比较和统计,所以采用python编写连接数据库脚本方便测试,提高工作效率,脚本如下(python连接mysql需要引入第三方库MySQLdb,百度下载安装) # ...

  10. JdbcTemplate+PageImpl实现多表分页查询

    一.基础实体 @MappedSuperclass public abstract class AbsIdEntity implements Serializable { private static ...

随机推荐

  1. 081_Introducing trigger handler class

    案例分析: 我们对一个Object写多个独立得Trigger. 但最终这不是最好的做法. 在Salesforce中,只为每个SObject设置一个触发器总是好的. 原因:每个独立触发器的执行顺序始终未 ...

  2. Qt实现抽奖程序

    一.简介 该程序命名为Lucky,实现的功能如下: 1. 加载抽奖人员名单,并保存加载路径: 2. 单击左键或者点击ctrl+s开始抽奖,并滚动显示人员名单,显示的人员名单格式为 部门-姓名. 3. ...

  3. Blog-3

    前言 这几周的作业所涉及的知识点有数据的封装和.继承与多态.正则表达式,还有抽象类和接口,另外还有javafx的一些基本知识.题量适中,但是难度对于我来说是比较大的.总的来说就是跟以前的题目差不多,只 ...

  4. SQL Server创建dblink跨库查询

    dblink是跨库查询的主要手段,在Oracle创建DbLink中已经演示了Oracle中如何创建及使用DbLink,这篇博客看看SQL Server中如何使用. 一.通过图形化界面直接创建 选择当前 ...

  5. 21.ubuntu16.04 Minio 集群搭建

    MinIo是什么:MinIO 是一个基于Apache License v2.0开源协议的对象存储服务.它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据. minio是一个非常轻量级的 ...

  6. 004 jmeter断言、集合点、函数、分布式

    1.断言 *定义:断言就是让程序代替人工去判断程序响应数据是否达到预期结果. *断言可以检查返回数据的正确性与完整性 *常见的断言 *响应断言(断言状态码+断言文本值)哪个接口需要断言就在哪一个接口后 ...

  7. etcd 入门

    服务注册与服务发现 三部分的作用: 注册中心:记录服务和服务地址的映射关系 服务提供者:将服务注册到服务中心 服务发现者:对服务中心的服务进行调用 简单易懂的 raft 算法 Raft算法是一个一致性 ...

  8. 解决: 无法打开明确指定的数据库“SSISDB”, 用户 'NT Service\SSISScaleOutMaster150' 登录失败.

    环境: WindowsServer2019Datacenter  SQL Server2019  SSMSv18 事情: SQL安装完成后, 发现系统日志中有如下报错:   解决: 无法打开明确指定的 ...

  9. eccodes 使用girb_filter工具

    参考自ECMWF网站https://confluence.ecmwf.int/display/OPTR/ecCodes%3A+GRIB+and+BUFR+data+decoding+and+encod ...

  10. 这些有用的CSS伪类通常被忽略

      这些有用的CSS伪类通常被忽略 这篇文章在一定程度上鼓励你在构建UI时使用更简单的CSS和更少的JavaScript. ::first-line 选择文本的第一行 这个选择器用于选取指定选择器的首 ...