GlosarioTecnología

SOQL

Término 255 de 314 · Tecnología

En una frase

SOQL (Salesforce Object Query Language) es el lenguaje de consultas de Salesforce para leer datos de sus objetos. Se parece a SQL pero solo consulta registros (no inserta ni borra) y respeta el modelo de datos y los permisos de la plataforma.

Definición

SOQL (Salesforce Object Query Language) es el lenguaje de consultas propio de Salesforce que sirve para leer datos almacenados en los objetos de la plataforma. Su sintaxis recuerda a SQL (usa SELECT ... FROM ... WHERE), pero opera sobre los objetos de Salesforce (estándar y personalizados) en lugar de tablas de una base de datos tradicional, y devuelve registros que el código luego procesa.

A diferencia de SQL, SOQL solo recupera datos: no tiene INSERT, UPDATE ni DELETE (esas operaciones se hacen con DML en Apex), no permite SELECT \* (hay que nombrar cada campo) y no hace joins arbitrarios, sino que navega las relaciones ya definidas entre objetos. Es una de las herramientas centrales con las que trabaja quien programa sobre la plataforma, parte del oficio que cubre el equipo de desarrolladores de Salesforce.

Para qué se usa SOQL

Cada vez que una pantalla, un automatismo o un fragmento de código en Salesforce necesita traer registros (las cuentas de una región, las oportunidades abiertas de un vendedor, los casos sin resolver), por debajo casi siempre hay una consulta SOQL. Se escribe dentro de Apex, en componentes Lightning Web Components, en herramientas de integración o directamente en el Developer Console para inspeccionar datos. Es el puente entre la lógica de negocio y la información guardada en la org.

Una consulta típica selecciona el nombre, el monto y la etapa de las oportunidades cuyo monto supera cierto umbral, ordenadas por fecha de cierre. La gran diferencia con una base relacional clásica es cómo trata las relaciones entre objetos: en lugar de armar joins, SOQL aprovecha las relaciones que ya existen en el modelo de datos. Para subir de un registro hijo a su padre se usa notación de punto (el contacto accede a campos de su cuenta), y para bajar a los hijos se usa una subconsulta de relación (desde una cuenta se piden sus contactos). Esto hace que las consultas sean más legibles, pero también que estén atadas al esquema definido en la plataforma.

Por qué importa para un negocio

Aunque suene a detalle técnico, SOQL tiene consecuencias directas en lo que percibe el usuario. Una consulta bien escrita es la diferencia entre un reporte que carga al instante y uno que tarda o falla. En Argentina y LATAM, donde es común tener orgs con cientos de miles de registros (clientes, facturas, casos de soporte), el costo de las consultas mal diseñadas se nota: pantallas lentas, automatizaciones que se caen y procesos nocturnos que no terminan a tiempo.

Hay un motivo concreto detrás. Salesforce es una arquitectura multitenant (muchas empresas comparten la misma infraestructura), así que impone governor limits: topes a cuántas consultas SOQL y cuántos registros puede manejar una transacción. Si el código los supera, la operación se interrumpe. Por eso escribir SOQL eficiente no es un lujo: es lo que mantiene la plataforma estable para todos.

SOQL vs SQL: en qué se diferencian

Vienen de mundos parecidos, pero no son intercambiables. Esta tabla resume las diferencias clave:

AspectoSOQLSQL
Qué haceSolo lee datos (consulta)Lee y modifica (CRUD completo)
Sobre qué operaObjetos de SalesforceTablas de una base de datos
SelecciónHay que nombrar cada campoPermite traer todas las columnas
RelacionesNavega relaciones predefinidasJoins arbitrarios entre tablas
LímitesSujeto a governor limitsSegún el motor de base de datos

Quien viene de SQL aprende SOQL rápido en lo básico, pero tropieza con lo que falta: no hay forma de traer todas las columnas con un comodín, no hay joins libres y siempre hay que pensar en los límites.

Errores comunes que conviene evitar

  • Consultas dentro de un bucle (loop): repetir una consulta por cada registro de una lista agota rápido los límites. La regla es bulkificar: una sola consulta que traiga todo lo necesario de una vez.
  • Traer más campos o registros de los necesarios: pedir campos que no se usan o no filtrar infla el consumo y la latencia. Conviene acotar con condiciones y, cuando aplica, con un límite de filas.
  • No filtrar por campos indexados: consultar sobre campos no indexados en tablas grandes obliga a recorrer todo, lo que dispara errores de tiempo en orgs con mucho volumen.
  • Confundir SOQL con SQL: intentar un comodín de columnas o un join que no existe en el modelo termina en error de sintaxis.

Ejemplo concreto

Una distribuidora de Consumo Masivo en Buenos Aires quiere mostrarle a cada vendedor sus cuentas con saldo pendiente. En vez de consultar cuenta por cuenta (lo que con 5.000 clientes reventaría los límites), el desarrollo arma una sola consulta que filtra por dueño y por estado de cobranza, ordena por monto y la presenta en un componente. Resultado: la pantalla carga en segundos y el proceso escala sin tocar los topes de la plataforma. Esa decisión, invisible para el usuario final, es la clase de buena práctica de SOQL que separa una implementación robusta de una que se cae cuando crecen los datos.

Compartir
Preguntas frecuentes

Preguntas frecuentes sobre SOQL

¿Qué es SOQL?

SOQL (Salesforce Object Query Language) es el lenguaje de consultas de Salesforce que se usa para leer datos de los objetos de la plataforma, tanto estándar como personalizados. Su sintaxis se parece a SQL, con SELECT, FROM y WHERE, pero solo recupera registros: no inserta, actualiza ni elimina datos. Se utiliza dentro de Apex, en componentes Lightning y en integraciones para traer la información que necesita cada proceso o pantalla.

¿Cuál es la diferencia entre SOQL y SQL?

La diferencia principal es el alcance. SQL es un lenguaje completo que lee y modifica datos (INSERT, UPDATE, DELETE) sobre tablas de una base de datos, y permite joins arbitrarios y traer todas las columnas con un comodín. SOQL solo consulta datos sobre objetos de Salesforce, obliga a nombrar cada campo, no admite ese comodín ni joins libres (navega relaciones ya definidas en el modelo) y está sujeto a los límites de la plataforma. Las modificaciones de datos en Salesforce se hacen con DML, no con SOQL.

¿Se puede usar SOQL para crear o borrar registros?

No. SOQL es de solo lectura: únicamente recupera registros existentes. Para crear, actualizar o eliminar datos en Salesforce se usan operaciones DML (Data Manipulation Language) dentro de Apex, como insert, update y delete. Es una separación deliberada de la plataforma: SOQL consulta y DML modifica, y ambos respetan los permisos y límites de la org.

¿Por qué hay un límite en la cantidad de consultas SOQL?

Porque Salesforce es una arquitectura multitenant donde muchas empresas comparten la misma infraestructura. Para que el uso intensivo de una org no degrade el servicio del resto, la plataforma aplica governor limits, que topan cuántas consultas SOQL y cuántos registros puede procesar una transacción. Si el código supera esos topes, la operación se interrumpe. Por eso escribir consultas eficientes, sin SOQL dentro de bucles, es una práctica fundamental.

¿Dónde se escribe una consulta SOQL?

Se escribe principalmente dentro de código Apex, en componentes Lightning Web Components, en herramientas de integración con la API y en el Developer Console o el Query Editor para inspeccionar datos directamente. En todos los casos, la consulta devuelve registros que luego el código procesa, muestra en pantalla o envía a otro sistema.

Herramienta gratuita
Champions

Generador de Business Case

Tu caso de negocio con tus números, listo para el directorio.

Abrir la herramienta

Lo llevamos a tu Salesforce

Implementación, integración y soporte de Salesforce para empresas de LatAm, con foco en que el equipo lo use de verdad y no vuelva al Excel. Contanos en qué punto está tu org.

El glosario completo (más de 290 definiciones de IA, Salesforce y datos) en un PDF con hipervínculos.

Seguí explorando

Términos relacionados

Del glosario

Preguntas relacionadas

Lo resolvemos con

Salesforce

Implementación, integración y soporte de Salesforce para empresas de LatAm, con foco en la adopción real del equipo.

Así lo resuelve Salesforce
La suite completa

Ahora que sabés qué es, mirá cómo se resuelve

Cinco productos de IA que trabajan sobre el CRM que ya usás. No reemplazan tu sistema: le agregan la capa que hoy hacés a mano.