SOQL(Salesforce Object Query Language) is used to fetch the data from Sobject in salesforce organization. It is similar to Structured Query Language(SQL).
It will help you in retrieving and manipulating data, In this you can't specify * as for all the fields that are used for other SQL languages. Hence you must specify an exact field you want to get the information about.
With SOQL we can build powerful query strings in Apex statements, in Visualforce controllers and getter methods, in the Schema Explorer of the Force.com IDE.
Syntax looks like,
SELECT fields FROM object WHERE condition
Executed query is going to return you the list<Sobjects> as a result.
How to run a query:
1. Open developer console in salesforce org.
2. Click on the Query editor option in Developer console.
3. In Query editor, execute the Query.
If the Query generates errors, they are displayed at the bottom of the Query editor panel.
If you reexecute Query changes, which are unsaved in the Query grid are lost.
To reexecute a Query click refresh or get the Query from history and execute it.
Query has to be formed based upon the data user is entering in the Salesforce organization.
Use SOQL when you want to retrieve data from a single object or from multiple objects, which are related to one another.
We can use it to retrieve data from checkbox fields, dates or numbers.
Can count the number of records, which meet specific criteria in an organization.
We can get results by sorting them with queries.
Up to 50,000 records can be retrieved using SOQL queries.
In a SOQL query with parent-child relationship sub queries, each parent-child relationship count as an extra query. These types of queries have a limit of three times the number for top-level queries.
There are location-based SOQL queries, which are used to calculate distance between two location values or distance between one location value and latitude-longitude value.