SELECT 语句的简化语法如下:
SELECT what to retrive
FROM table or tables
WHERE conditions that data must satisfy;
1.在写SELECT语句的时候,需要先指定检索的内容,然后再加上一些可选的子句。
(i) FROM 子句通常是不可少的,但当不需要给出表名时,可以省略它。例如,下面这条查询语句只显示一些表达式的值。这些值计算并未涉及任何表,因此这里不需要FROM子句:
mysql> SELECT 2+2,'Hello, World!',VERSION(),USER();+-----+---------------+-----------+----------------+
| 2+2 | Hello, World! | VERSION() | USER() |
+-----+---------------+-----------+----------------+
| 4 | Hello, World! | 5.6.31 | root@localhost |
+-----+---------------+-----------+----------------+
1 row in set (0.00 sec)
(ii) 当的确需要FROM子句来指定要从哪个表检索数据时,还需要指明要查看哪些列。
SELECT语句最常见的一种形式是使用一个星号(*) 作为列说明符,代表"所有列"。下面这条查询语句将显示 student 表里的所有列:
mysql> SELECT *FROM student;+--------+-----+------------+
| name | sex | student_id |
+--------+-----+------------+
| Jim | M | 1 |
| Tom | M | 2 |
| Lily | F | 3 |
| Lucy | F | 4 |
| Travis | M | 5 |
| Steve | M | 6 |
+--------+-----+------------+
6 rows in set (0.00 sec)
(iii)也可以把自己想要查看的那些列的名字列出来。例如,只想查看学生名字,则可以这样做:
mysql>SELECT name FROM student;+--------+
| name |
+--------+
| Jim |
| Tom |
| Lily |
| Lucy |
| Travis |
| Steve |
+--------+
6 rows in set (0.00 sec)
(iv) 要列出多个列名,那么需要使用逗号把它们分隔开。下面这条语句等价于 SELECT * FROM student 语句,但它把各列的名字明确地列了出来:
mysql>SELECT name,sex,student_id FROM student;+--------+-----+------------+
| name