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];

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

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

关于SOQL(一)的更多相关文章

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

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

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

    在salesforce中,我们做SOQL查询时,往往需要用到计算式,比如求和,求平均值,或者过滤数据时,往往需要通过时间日期过滤,SOQL已经封装了很多的函数,可以更加方便我们的sql查询而不需要自己 ...

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

    建立好的数据表在数据库中查看有很多方式,本人目前采用以下两种方式查看数据表. 1.采用schema Builder查看表结构以及多表之间的关联关系,可以登录后点击setup在左侧搜索框输入schema ...

  4. salesforce 零基础开发入门学习(三)sObject简单介绍以及简单DML操作(SOQL)

    salesforce中对于数据库操作和JAVA等语言对于数据库操作是有一定区别的.salesforce中的数据库使用的是Force.com 平台的数据库,数据表一行数据可以理解成一个sObject变量 ...

  5. Salesforce.com Object Query Language (SOQL) 示例

    Salesforce 中的用户操作 打开按公司名称排序的供应商记录列表视图.SOQL 查询 SELECT CompanyName__c,ContactName__c FROM Suppliers__x ...

  6. salesforce中soql及sosl的伪‘Like’模糊检索

    salesforce里有soql.sosl两种查询语法,soql针对模糊搜索也有‘like’关键字,然而只能针对其自带字段如:Name.Id:对于自定义添加的字段如:Message__c.Note__ ...

  7. (通用版)salesforce中soql及sosl的伪‘Like’模糊检索

    salesforce里有soql.sosl两种查询语法,soql针对模糊搜索也有‘like’关键字,然而只能针对其自带字段如:Name.Id:对于自定义添加的字段如:Message__c.Note__ ...

  8. 数据库操作(二)SOQL

    1.SOQL SOQL是对象查询语言.它可以在单个sObject中在给定标准上搜索记录. 2.SELECT语句 [格式]SELECT 列名称 FROM 表名称 [示例] 3.SELECT...WHER ...

  9. Apex 小知识:SOQL 在循环中的应用

    两种在循环中引用 SOQL 的方法 第一种方法: List<Account> accounts = [SELECT Id FROM Account WHERE NumberOfEmploy ...

随机推荐

  1. PHP开发APP接口

    第1章 APP接口简介 - 课程简介 (:) - APP接口介绍 (:) - 客户端APP通信 (:) 最近学习 - 客户端APP通信格式区别 (:) - APP接口做的哪些事儿 (:) 第2章 封装 ...

  2. MySQL 数据显示宽度

    例子: 把int 的显示宽度设置为 3 create table t(x int(3) zerofill); insert into t(x) values(1); select x from t; ...

  3. lock table

    1.在执行lock table语句后,则在执行unlock tables之前,当前会话只能操作当前被锁定的表(包括表别名)2.read锁,其它会话只有读取权限,没有写入权限3.write锁,其它会话只 ...

  4. setFocus一定要写在setLayout设置的后面,否则不起作用——使用setFocusPolicy为控件设置不同的焦点策略:Tab焦点,Click焦点,Wheel焦点和没有焦点

    QLineEdit* pEditor = new QLineEdit(m_strText);    pEditor->resize(.......);    pEditor->move(. ...

  5. 直接调用类成员函数地址(用汇编取类成员函数的地址,各VS版本还有所不同)

    在C++中,成员函数的指针是个比较特殊的东西.对普通的函数指针来说,可以视为一个地址,在需要的时候可以任意转换并直接调用.但对成员函数来说,常规类型转换是通不过编译的,调用的时候也必须采用特殊的语法. ...

  6. Android Studio 中快速提取方法

    在开发过程中,有时在一个方法内部写了过多的代码,然后想要把一些代码提取出来封装下,分离开放在一个单独的方法里,可能你的做法是直接选中后Ctrl + 叉,或者 Ctrl + C,但在Android St ...

  7. mysql 批量删除分区

    alter table titles drop partition p01; use zabbix; mysql> source drop_par.sql [oracle@oadb mysql] ...

  8. PHP计划任务:如何使用Linux的Crontab执行PHP脚本

    我们的PHP程序有时候需要定时执行,我们可以使用ignore_user_abort函数或是在页面放置js让用户帮我们实现.但这两种方法都不太可靠,不稳定.我们可以借助Linux的Crontab工具来稳 ...

  9. [转] 使用SQL脚本查看表空间使用率和使用dba_tablespace_usage_metrics视图的差别

    传统的SQL脚本查看表空间使用率,使用的关键视DBA_DATA_FILE和DBA_FREE_SPACE. Oracle 11g引入了DBA_TABLESPACE_USAGE_METRICS视图.其实, ...

  10. Swift和Objective-C混合编程

    假设你现在就是一个iOS程序员,你对Objective-C很熟悉,对iOS开发也很熟悉,然而,苹果公司在iOS 8之后推出了Swift语言.那么,如何才能快速地从Objective-C过渡到Swift ...