关于SOQL(一)

SOQL 是Salesforce中的查询语言,他的全称是Salesforce Object Query Language。

从字面上就能够看出,这个语言是一种基于对象的查询语言。

在Salesforce中,我们能够建立对象,Salesforce中也有自己的对象,对于这些对象,可以抽象的认为这些对象就是一个个的Data Table。

每个对象下,都拥有字段的属性,而SOQL的作用就是查询各个Object 下的 Fields。

SOQL的基本语法和我们熟知的SQL并无太大区别,例如:

List<Account> accounts = [select ID from Account];

通常在APEX CODE中,SOQL都卸载[]内,而且SOQL返回得到的是List<Object>。

例句就是查询Account这个Object 下所有Account的ID。

在SOQL中,没有JOIN这一个写法,在Salesforce中Object和Object有一种关系为查找关系,也就是一对多的关系(A查找B,那么B为父,A为子)。

当2个对象拥有查找关系的时候,SOQL可以通过子查到父的信息(向上查询),或者通过父查找子的信息(向下查询)。

用Salesforce中Account 和 Contact的关系来做示例(Conatact Look Up Account)

List<Account> accounts = [select ID,Name,(select ID,Name from Contact) from Account];

这时候,我们得到一组Account并且知道每一个Account下的所有Contact信息,

在APEX CODE中我们就可以使用List<Contacts> contacts = accounts[0].Contact;

这样,我们可以再去检索contacts的信息。

我们再做一个向上查询的样例:List<Contact> contacts = [select ID,Name,Account.Name from Contact];

如此,我们可以获得不同联系人他对应自己的客户姓名信息。

今天暂时总结一下向上查询和向下查询。

时间: 2024-10-27 09:22:00

关于SOQL(一)的相关文章

1,SFDC 开发篇 - 类对象和SOQL查询

1,类对象 & 接口 & 属性 2, Object & SOQL

APEX初步 [5] —— SOQL查询

编写SOQL查询 SOQL代表Salesforce Object Query Language, 用它来直接读取记录. SOQL可以说是Force.com上面的SQL语句 .由于Apex能直接访问salsforce数据库中的记录,所以可以直接在apex代码中嵌入SOQL查询并获得查询结果.只要用方括号将查询语句包起来,然后把返回值赋予一个Sobject对象的数组即可.比如下面的例子,获取所有的客户的名称和电话: Account[] accts = [SELECT Name,Phone FROM

Salesforce.com Object Query Language (SOQL) 示例

Salesforce 中的用户操作 打开按公司名称排序的供应商记录列表视图.SOQL 查询 SELECT CompanyName__c,ContactName__c FROM Suppliers__x ORDER BY CompanyName__c ASC LIMIT 26 Salesforce 中的用户操作 点击查看按城市排序的供应商记录列表视图的第二页.SOQL 查询 SELECT City__c,CompanyName__c FROM Suppliers__x ORDER BY City_

salesforce 零基础学习(三十八) soql函数以及常量

在salesforce中,我们做SOQL查询时,往往需要用到计算式,比如求和,求平均值,或者过滤数据时,往往需要通过时间日期过滤,SOQL已经封装了很多的函数,可以更加方便我们的sql查询而不需要自己另外设计. 一. 聚合函数 常用的聚合函数有如下几种: AVG():求平均值 COUNT():求记录个数 COUNT_DISTINCT():求不重复记录个数 MIN():求记录中最小值 MAX():求记录中的最大值 SUM():求和 这些聚合函数通常和group by fieldName 一起用,达

salesforce 零基础开发入门学习(四)多表关联下的SOQL以及表字段Data type详解

建立好的数据表在数据库中查看有很多方式,本人目前采用以下两种方式查看数据表. 1.采用schema Builder查看表结构以及多表之间的关联关系,可以登录后点击setup在左侧搜索框输入schema Builder 或者build-->schema Builder进入: 2.采用force.com Explorer通过自己写查询语句来查询数据. 此链接为force.com Explorer的下载链接:  http://force-com-explorer-beta.software.infor

数据库操作(二)SOQL

1.SOQL SOQL是对象查询语言.它可以在单个sObject中在给定标准上搜索记录. 2.SELECT语句 [格式]SELECT 列名称 FROM 表名称 [示例] 3.SELECT...WHERE语句 [格式]SELECT 列名称 FROM 表名称 WHERE 筛选条件 [示例] 4.ORDER BY语句 [格式]SELECT 列名称 FROM 表名称  ORDER BY 字段名 DESC / ASC [示例] 5.LIMIT语句 [格式]SELECT 列名称 FROM 表名称  LIMI

Salesforce用Apex判断Role Hierarchy的简单代码示例

由于role不同于Profile,带有阶层性质,所以有一些自定义功能要依赖于这种阶层的设定.这样就涉及到role hierarchy的判断问题. 我是一个绝懒之人,所以去网上搜了一下,能找到的方案都或多或少有些缺陷 . 我所提供的方案也是如此,但是想比于浪费太多SOQL查询次数来讲,role的数量不超过50000条已经是足够好了.// 这里Update一下,其实根本不会有那么多的Role,因为默认500,向Salesforce技术支持提票才能达到10000. Talk is cheap, sho

APEX初步 [3] —— Apex触发器

触发器概念 apex触发器就像数据库中的触发器一样,用来在增删改之前或之后对记录执行自定义的操作,也可以添加触发的条件.它可以做任何apex能做的功能,比如执行SOQL语句或者调用其他apex方法.它可以被定义在Sobejct上,比如account,contact或者自定义对象上. 尽量在无法通过普通的点击操作的设置完成的情况下才使用触发器,比如如果要验证一个字段的值或更新一条记录上的某个字段,就应该使用validation rule 和 workflow. 触发器格式 trigger Trig

编程语言的发展脉络图

做了两件事情:第一件是从Wikipedia网站上搜集各种编程语言的资料,第二件是把编程语言之间相互影响的关系用图的形式画出来,从而得到了一张编程语言的发展脉络图. 这两件事情主要是编写Ruby程序来做的,在Wikipedia页面的右上角有一个表格,从中提取Appeared in,Influenced by,Influenced等字段,根据这种关联关系遍历,采集到292种语言,用JSON格式保存到文件中,然后把几个出现年份描述不精确的语言用人工查证的方式进行补充. [["Swift",&