Mysql
 sql >> база данни >  >> RDS >> Mysql

Заменете сравнението със скаларна подзаявка с вътрешно съединение или ляво/дясно съединение

Изглежда, че искате нещо подобно:

select radicados.*
from
  radicados
  join estudiantes
    on radicados.asignado = estudiantes.estudianteid
  join usarios
    on estudiantes.usario = usarios.usarioid
  where usarios.nombre = $nombre_usuario

При конструирането на такава заявка започнете с FROM клауза. Обединете заедно различните таблици, съдържащи необходимите данни, въз основа на връзките между тях. Ако е необходимо, добавете WHERE клауза, описваща всички допълнителни условия, по които искате да филтрирате резултата от вашето присъединяване. След това попълнете SELECT избройте според случая.

При някои обстоятелства може да се наложи да добавите и други клаузи (ORDER BY , GROUP BY , и т.н.), но това не е лошо, след като разберете основните заявки.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Множество оператори за избор в единична заявка

  2. Мога ли да настроя Mysql за автоматично разделяне?

  3. Как да получа различен запис от таблицата на mysql?

  4. Как създавате подготвени изявления с mysql2 gem?

  5. Предотвратете дублиране на SQL записи