sql >> Database >  >> RDS >> Mysql

Oplossing voor subquery retourneert meer dan 1 rijfout

= kan worden gebruikt wanneer de subquery slechts 1 waarde retourneert.

Wanneer subquery meer dan 1 waarde retourneert, moet u IN . gebruiken :

select * 
from table
where id IN (multiple row query);

Bijvoorbeeld:

SELECT *
FROM Students
WHERE Marks = (SELECT MAX(Marks) FROM Students)   --Subquery returns only 1 value

SELECT *
FROM Students
WHERE Marks IN 
      (SELECT Marks 
       FROM Students 
       ORDER BY Marks DESC
       LIMIT 10)                       --Subquery returns 10 values


  1. Lijst met datumnotatiespecificaties in MySQL

  2. ORA-01830:datumformaatafbeelding eindigt voordat de volledige invoerreeks wordt geconverteerd / Selecteer som waar datumquery

  3. Alle triggers in de SQL Server-database uitschakelen?

  4. Hoe fouten in de onjuiste tekenreekswaarde op te lossen?