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

GDZIE vs MIEĆ?

Dlaczego musisz umieszczać kolumny, które sam tworzysz (na przykład "wybierz 1 jako liczbę") po MIEJĄC, a nie GDZIE w MySQL?

WHERE jest stosowany przed GROUP BY , HAVING jest stosowany po (i może filtrować według agregatów).

Ogólnie rzecz biorąc, w żadnej z tych klauzul nie można odwoływać się do aliasów, ale w MySQL umożliwia odwoływanie się do SELECT aliasy poziomów w GROUP BY , ORDER BY i HAVING .

I czy są jakieś wady zamiast robienia "GDZIE 1" (pisanie całej definicji zamiast nazwy kolumny)

Jeśli wyliczone wyrażenie nie zawiera żadnych agregatów, umieść je w WHERE klauzula będzie najprawdopodobniej bardziej skuteczna.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Automatyczne skalowanie z Amazon Aurora Serverless

  2. importowanie CSV do phpmyadmina

  3. Jak zbudować nieograniczony poziom menu za pomocą PHP i mysql

  4. Ładowanie klasy com.mysql.jdbc.Driver ... jest przestarzałym komunikatem

  5. Zapytanie SQL:usunąć wszystkie rekordy z tabeli z wyjątkiem ostatniego N?