You can use Magento\Framework\App\ResourceConnection to run custom SQL queries
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$resource = $objectManager->get('Magento\Framework\App\ResourceConnection');
$query = "SELECT sales_order.increment_id, sales_order_payment.additional_information FROM sales_order LEFT JOIN
sales_order_payment ON sales_order.entity_id = sales_order_payment.parent_id
WHERE sales_order_payment.method = 'opayment' AND sales_order.updated_at >= NOW() - INTERVAL 30 MINUTE";
$Data = $resource->getConnection()->fetchAll($query);
Via Dependency Injection
public function __construct(
\Magento\Framework\App\ResourceConnection $resource
) {
$this->_resource = $resource;
}
public function RunQuery(){
$query = "SELECT sales_order.increment_id, sales_order_payment.additional_information FROM sales_order LEFT JOIN
sales_order_payment ON sales_order.entity_id = sales_order_payment.parent_id
WHERE sales_order_payment.method = 'opayment' AND sales_order.updated_at >= NOW() - INTERVAL 30 MINUTE";
$Data = $this->_resource->getConnection()->fetchAll($query);
}