Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Worauf bezieht sich t in diesem SQL?

Ihr Kollege hat eine Abfrage erstellt (SELECT COUNT(*) ) mit einer Unterabfrage, die er t nannte . Dieses t ist nur ein temporärer Tabellenname, der auf

verweist

Er hätte es durchaus temp nennen können etwas deutlicher werden. Der Grund dafür, dass dies wie eine Tabelle wird, liegt darin, dass es in MySQL ein SELECT ist Abfrage gibt Datenzeilen zurück, die sich wie eine Tabelle verhalten. Diese innere Abfrage erhält also die AttemptNo , und erstellt eine temporäre Tabelle t . Die äußere Abfrage zählt dann diese Daten.

Der ; innerhalb der Abfrage besteht darin, daraus eine vollständige Aussage zu machen, wenn die Zeichenfolge Abfrage wird vom Programm aufgerufen. Wenn dies nicht enthalten wäre, würde der String query würde keine gültige MySQL-Anweisung enthalten. Der letzte ; soll die Zuweisung für die Variable vervollständigen.