Sobes.tech
Middle+

¿Cómo diseñarías una consulta SQL a la base de datos sin usar ORM?

sobes.tech AI

Respuesta de la IA

Para consultar datos de la tabla users, donde el campo is_active sea true y role sea 'admin':

SELECT id, username, email
FROM users
WHERE is_active = TRUE AND role = 'admin';

Para insertar un nuevo registro en la tabla products:

INSERT INTO products (name, price, category_id)
VALUES ('New Product', 19.99, 10);

Para actualizar un registro en la tabla orders, estableciendo el estado 'shipped' para el pedido con id = 100:

UPDATE orders
SET status = 'shipped'
WHERE id = 100;

Para eliminar un registro de la tabla comments por id:

DELETE FROM comments
WHERE id = 500;

Para una unión básica de las tablas users y orders por user_id:

SELECT u.username, o.order_date, o.total_amount
FROM users AS u
JOIN orders AS o ON u.id = o.user_id;

Al diseñar, es importante tener en cuenta:

  • Seguridad: Usar consultas parametrizadas para prevenir inyecciones SQL.
  • Rendimiento: Optimizar consultas usando índices, evitando SELECT * y revisando los planes de ejecución.
  • Legibilidad: Formatear las consultas, usar alias para tablas y campos.
  • Pruebas: Verificar las consultas en diferentes escenarios y volúmenes de datos.

Ejemplo de consulta parametrizada (conceptual, la implementación depende del lenguaje y driver):

// Ejemplo para consultar un usuario por ID
SELECT id, username FROM users WHERE id = ?;