Artūras Šlajus rašė: > MaoDzeDunis wrote: >> Yra trys MySQL'inës lentelës: >> mokiniai (mok_id, mok_vardas, mok_pavarde) >> klases (kl_id, kl_pav, kl_metai) >> klasiu_nariai (kln_id, kln_klases_id, kln_mokinio_id) >> >> Kaip iðgaut mokinius, kurie nëra priskirti jokiai klasei? > > Lengviausias būdas yra su subselectu > > SELECT * FROM mokiniai WHERE (SELECT COUNT(*) FROM klasiu_nariai WHERE > kln_mokinio_id=mok_id) = 0 > > Bet šitas kiekvienam mokiniui daro query. Stabdo > > Geriau yra kai sukuri mokinį įrašyti į klasiu_nariai įrašą, kur > kln_klases_id yra NULL ir daryti left join. > > SELECT mokiniai.* FROM klasiu_nariai > LEFT JOIN mokiniai ON kln_mokinio_id = mok_id > WHERE kln_klases_id IS NULL Na, Artūrai, nustebinai... SELECT M.* FROM mokiniai.m LEFT JOIN klasiu_nariai KN ON M.mok_id = KN.kln_mokinio_id WHERE KN.kln_klases_id IS NULL (apie COUNT(*) apskritai nutylėsiu...)