SOQL と SQL: 説明 | ビルトイン

Salesforce オブジェクト クエリ言語 (SOQL) は、Salesforce 組織からデータを照会するために使用される言語です。 ソフトウェアエンジニアアナリスト の背景を持つ SQL SOQL は構文的になじみがあるかもしれませんが、開始する前に知っておくべき重要な違いがいくつかあります。

SQL と SOQL の違いは何ですか?

SQL はデータベース内のデータのクエリと管理に使用されるプログラミング言語であり、SOQL は特に Salesforce からのデータのクエリに使用される言語です。

SOQL とは

SOQL は、クエリ専用の言語です。 データベース 従来の SQL のようにデータを変更するのではなく、 ここにはない INSERTUPDATE ステートメント。 データの変更は、Salesforce のユーザー インターフェイス (UI) または Apex DML、Salesforce 独自のプログラミング言語の一部です。 SOQL では、Salesforce オブジェクトは SQL テーブルとして表されます。

データ サイエンスの詳細: SQL と NOSQL: どちらを選ぶべきか?

SOQL と SQL の違い

選択する

お茶 SELECT SOQL クエリの句は SQL に似ていますが、次の 1 つの重要な例外があります。 SELECT * 許可されていません。 選択するフィールドを指定する必要があります。 SQL と SOQL のクエリの例を見てみましょう。

SQL:

SELECT * FROM Lead

これは、SOQL でより具体的にする必要があります。

SOQL:

SELECT Id, Name, Company, Industry FROM Lead

加入

SOQL を使用する場合の最も重要な違いは、結合の処理です。 お茶 JOIN キーワードは SOQL には実際には存在しません。 さらに、関連するオブジェクトのみを一緒にクエリできます。

親子関係または子対親関係は、Salesforce で最も一般的で単純な関係です。 取引先 (親) と取引先責任者 (子) の関係を使用して、SOQL の「結合」の概念を示します。

子から親へ

子から親への関係を照会するには、単純なドット表記を使用します。 同じアクションを実行するこれらのクエリを比較してみましょう。

SQL:

SELECT Contact.Name, Contact.Email, Account.Name 
FROM Contact 
LEFT JOIN Account ON (Contact.AccountId = Account.Id)

SOQL:

SELECT Name, Email, Account.Name FROM Contact

このドット表記を使用して、いくつかの関係をトラバースすることもできます。 に相当する 3 つ以上のテーブルを結合する.

SQL:

SELECT Contact.Name, Contact.Email, Account.Name, User.Name 
FROM Contact 
LEFT JOIN Account ON (Contact.AccountId = Account.Id)
LEFT JOIN User ON (Account.OwnerId = User.Id)

SOQL:

SELECT Id, Name, Account.Name, Account.Owner.Name FROM Contact

親子

親子関係は、子オブジェクトの複数形とサブクエリを使用してクエリされます。 SELECT 句。

SQL:

SELECT Account.Name, Contact.Name, Contact.Email 
FROM Account 
LEFT JOIN Contact ON (Account.Id = Contact.AccountId)

SOQL:

SELECT Name, (SELECT Name, Email FROM Contacts) FROM Account

集計関数

集計関数は、従来の SQL と同様に SOQL で使用されます。 利用可能な集計関数は次のとおりです。 COUNT()MIN ()MAX ()AVG ()SUM ()、 と COUNT_DISTINCT().

すべてのレコードを数えるにはわずかな違いがあります。

SQL:

SELECT COUNT(*) FROM Account

SOQL:

SELECT COUNT() FROM Account

そしてその COUNT_DISTINCT 関数を使用すると、特定のフィールドの異なる値の数を簡単に識別できます。

SQL:

SELECT COUNT(DISTINCT MailingCountry) FROM Contact

SOQL:

SELECT COUNT_DISTINCT(MailingCountry) FROM Contact

その他のキーワード

SQL でよく使用されるその他のキーワード — WHERELIMITOFFSETGROUP BYHAVINGLIKEANDORなど — 従来の SQL としてサポートされ、フォーマットされています。

SQL:

SELECT MailingCountry, Count(Id)
FROM Contact
WHERE MailingCountry IS NOT NULL
GROUP BY MailingCountry 
HAVING Count(Id) > 1
LIMIT 10

SOQL:

SELECT MailingCountry, Count(Id)
FROM Contact
WHERE MailingCountry != NULL
GROUP BY MailingCountry 
HAVING Count(Id) > 1
LIMIT 10

SQL コードを SOQL コードに変換する方法に関するチュートリアル。 | | ビデオ: Salesforce 開発者

データ サイエンスの詳細: 市場で最高の 10 の SQL エディター

SOQL でクエリを実行する方法

SOQL クエリを記述するためのいくつかの異なるオプションがあります。 Salesforce 内で開発者コンソールのクエリ エディターを使用できます。 セールスフォース ワークベンチ または Apex コード内のインライン SOQL。 クエリ可能なすべてのオブジェクトとフィールドが表示され、結果を CSV ファイルにすばやくエクスポートできるため、クエリ エディターよりも Workbench の方が好みです。 Workbench には、クエリを宣言的に記述するオプションも用意されています。これは、SQL の経験があまりない初心者に役立ちます。

.

Leave a Comment

Your email address will not be published. Required fields are marked *