Salesforce中SOSL与SOQL

导航:

1.先来看看SOSL
2.来看一下SOQL

先来看看SOSL

语法格式:find {要查询的文本内容} in searchgroup returning 对象(fields)
{要查询的文本内容}:这里一般为文本格式即可
searchgroup:这里有四种固定的类型
ALL FIELDS/EMAIL FIELDS/NAME FIELDS/PHONE FIELDS
fields:这里的字段用’,'隔开

来看一个实例:

find '百威' in all fields returning sku__c(name),channelprice__c(materialname__c)

看看查询结果:这里显示了关键字’百威’在两个对象里面所有的查询结果
在这里插入图片描述
小结:

  • 这里的查找内容是类似于模糊查询
  • 查询的内容的类型必须是文本类型
  • 返回的结果集可以看作是两个List

应用上面的查询结果在代码里面演示一下用法:

下面的代码就是对结果的一个遍历输出

public class test_demo {

	static void output(){
		
		List<List<Object>> slist = [find '百威' in all fields returning sku__c(name),channelprice__c(materialname__c)];
		List<sku__c> ulist = (List<sku__c>)slist[0];
		List<channelprice__c> plist = (List<channelprice__c>)slist[1];
		for(sku__c sku:ulist){
			System.debug(sku.name);
		}
		for(channelprice__c channelprice:plist){
			System.debug(channelprice.materialname__c);
		}

	}

}

来看一下SOQL

soql类似于sql语句:
1.关联查询 类似于join Account与Contact存在关联关系 在编写查询时可以直接引用

SELECT FirstName, LastName, Account.Name,Contact.name FROM Contact

2.like模糊查询,使用order by 进行排序 Null值显示在最前面

SELECT AccountId,Email,Id,LastName FROM Contact WHERE LastName LIKE '%国%' ORDER BY LastName ASC NULLS FIRST

3.SOQL也可以使用子查询的方式

select name from Account where Responsible__c in (select id from Responsible__c where id = 'a062v00001dFLMvAAO' )
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值