Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Błąd podczas używania z wyjątkiem w zapytaniu

Nie wierzę, że MySQL obsługuje składnię Z WYJĄTKIEM. Spróbuj użyć NOT IN lub LEFT JOIN :

SELECT s.sno 
FROM students s    
WHERE s.sno NOT IN 
(
    SELECT t.sno 
    FROM take t 
    WHERE t.cno = 'CS112'
);

LUB

SELECT s.sno 
FROM students s    
    LEFT JOIN take t ON s.sno = t.sno
WHERE IFNULL(t.cno, '') != 'CS112'

AKTUALIZUJ

Stworzyłem twoje dane jako takie i poprawnie zwracają od 5 do 10:

create temporary table temp_students (sno int)

insert into temp_students values (1)
insert into temp_students values (2)
insert into temp_students values (3)
insert into temp_students values (4)
insert into temp_students values (5)
insert into temp_students values (6)
insert into temp_students values (7)
insert into temp_students values (8)
insert into temp_students values (9)
insert into temp_students values (10)

create temporary table temp_take (sno int, cno varchar(50))

insert into temp_take values (1, 'CS112')
insert into temp_take values (2, 'CS112')
insert into temp_take values (3, 'CS112')
insert into temp_take values (4, 'CS112')

SELECT s.sno 
FROM temp_students s    
        LEFT JOIN temp_take t ON s.sno = t.sno
WHERE IFNULL(t.cno, '') != 'CS112'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Skąd mam wiedzieć, kiedy mój kontener docker mysql działa i mysql jest gotowy do przyjmowania zapytań?

  2. Konwertuj znacznik czasu na datę w zapytaniu MySQL

  3. Jak mogę manipulować trafnością wyszukiwania pełnotekstowego MySQL, aby jedno pole było bardziej „wartościowe” niż inne?

  4. Jak utworzyć bazę danych MySQL za pomocą interfejsu wiersza poleceń (CLI)

  5. Jak włączyć powolny dziennik zapytań w MySQL?