[EMAIL PROTECTED] wrote:
I have a curious situation I was hoping someone could shed some light on.

mysql> select count(*) table;
+-------+
| table |
+-------+
|     0 |
+-------+
1 row in set (0.00 sec)

mysql> select count(*) from table;
+----------+
| count(*) |
+----------+
|    25965 |
+----------+
1 row in set (0.00 sec)


I found it curious that the first query didn't return an error with there being no 'from', and even more curious that it returned a 0. Is the first query actually legit, and if so, what does the 0 mean?

Yes, you can do a select without a table. This allows you to get the values of expressions or functions.


E.g.

        SELECT 1+1

will return 2, and

        SELECT NOW()

will return the current date and time.

Your query is selecting "COUNT(*) AS table" rather than "COUNT(*) FROM table". Naturally, without a table, COUNT(*) will return 0.

-Simon

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]



Reply via email to