1. Apa itu SOQL?
SOQL (Salesforce Object Query Language) digunakan untuk men-query data dari satu objek atau beberapa objek yang memiliki hubungan langsung.
🧠 Mirip seperti SQL di database biasa, tapi dengan sintaks khusus Salesforce.
Contoh SOQL:
SELECT Id, Name FROM Account WHERE Industry = 'Technology'
📌 SOQL hanya bisa mencari pada satu objek dalam satu waktu, tapi bisa mengambil data dari objek related melalui relationship.


2. Apa itu SOSL?
SOSL (Salesforce Object Search Language) digunakan untuk mencari string teks di banyak objek sekaligus.
🧠 Biasanya digunakan ketika kita tidak yakin data berada di objek mana, mirip pencarian global di Salesforce.
Contoh SOSL:
FIND 'Andre*' IN Name Fields RETURNING Account(Id, Name), Contact(Id, FirstName, LastName)
📌 SOSL dapat mencari di banyak objek sekaligus, tapi tidak bisa mengambil data relasional (parent-child).


3. Perbedaan Utama
Fitur | SOQL | SOSL
Tipe Query | Object-based | Text-based (keyword)
Jumlah Objek | 1 objek utama (dengan relationship) | Banyak objek
Wildcard (%) | Tidak | Ya (dengan *)
Digunakan untuk | Mengambil data yang spesifik | Mencari teks di banyak objek


4. Kapan Menggunakan SOQL atau SOSL?
Situasi | Gunakan
Mencari record dengan kondisi spesifik | SOQL
Mencari teks secara luas di seluruh objek | SOSL
Mencari data child melalui parent | SOQL (dengan subquery)
Mencari string tanpa tahu lokasi pasti | SOSL