Query & Database
//Get Entity Query Service
$query = \Drupal::entityQuery('node') or use Dependency injection (Best Practice)
// Query a given entity
$query = $this->entity_query->get('entity_name');
// Add condition on entity propery
$query->condition('status', 1);
// Add condition on field
$query->condition('field_name', $entity_id);
// Add condition IN
$query->condition('field_inscription_status', $status, 'IN');
// Execute the query
$result = $query->execute();
// Advanced Example using AND & OR
// orConditionGroup() and andConditionGroup
// See https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Core%21Entity%21Query%21QueryInterface.php/function/QueryInterface%3A%3Acondition/8.2.x for condition
$query = \Drupal::entityQuery('node')
->condition('status', 1)
->condition('changed', REQUEST_TIME, '<');
$group = $query->orConditionGroup()
->condition('title', 'cat', 'CONTAINS')
->condition('field_tags.entity.name', 'cats');
$nids = $query->condition($group)->execute();
// Using database connection and classic query
$db = \Drupal::database();
$data = $db->select('table_name','t')->fields('t')->execute();
$db->insert();
$db->update();