关于SELECT 语句语法
1.SELECT语句基本的语法结构如下:
SELECT [表名.]字段名列表
FROM <表名或查询名>[,<表名或查询名>]…
[WHERE <条件表达式>]
[ORDER BY <列名>[ASC|DESC]]
其中:方括号([ ])内的内容是可选的,尖括号(< >)内的内容是必须出现的。
(1)SELECT子句:用于指定要查询的字段数据,只有指定的字段才能在查询中出现。如果希望检索到表中的所有字段信息,那么可以使用星号(*)来代替列出的所有字段的名称,而列出的字段顺序与表定义的字段顺序相同。
(2)FROM子句:用于指出要查询的数据来自哪个或哪些表(也可以是视图),可以对单个表或多个表进行查询。
(3) WHERE子句:用于给出查询的条件,只有与这些选择条件匹配的记录才能出现在查询结果中。在WHERE后可以跟条件表达式,还可以使用IN、BETWEEN、LIKE表示字段的取值范围。
(4) ORDER BY子句: ASC表示升序,DESC表示降序,默认为ASC升序排序。
2. 根据表与表之间连接后所获得的结果记录集的不同,连接可分为三种类型:内连接、左连接、右连接。
连接类型 | 子句 | 连接属性 | 连接实例 | 结果 |
内连接 | INNER JOIN | 只包含来自两个表中的关联字段相等的记录 | FROM 学生 INNER JOIN 成绩 ON 学生.学号=成绩.学号 | 只包含“学生”表和“成绩”表同时具有相同学号的记录 |
左连接 | LEFT JOIN | 包含第一个(左边)表的所有记录和第二个表(右边)关联字段相等的记录 | FROM 学生 LEFT JOIN 成绩 ON 学生.学号=成绩.学号 | 包含所有学生记录和参加考试的学生的成绩 |
右连接 | RIGHT JOIN | 包含第二个(右边)表的所有记录和第一个表(左边)关联字段相等的记录 | FROM 学生 RIGHT JOIN 班级 ON 学生.班级编号=班级.班级编号 | 包含所有班级记录和已分班的学生记录 |
连接查询的基本格式:
SELECT [表名或别名.]字段名列表
FROM 表名1 AS 别名1
INNER | LEFT | RIGHT JOIN 表名2 AS 别名2 ON 表名1.字段=表名2.字段
其中:“|”表示必须选择 INNER、LEFT、RIGHT其中的一个。
3.如果连接的表多于两个,则需要使用嵌套连接,其格式为:
SELECT [表名或别名.]字段名列表
FROM 表名1 AS 别名1 INNER JOIN (表名2 AS 别名2 INNER JOIN 表名3 AS 别名3 ON 表名2.字段=表名3.字段)
ON表名1.字段=表名2.字段
4.分组统计的基本格式为:
SELECT [表名.]字段名列表 [AS 列标题]
FROM <表名>
GROUP BY 分组字段列表 [HAVING 查询条件]。
其中:GROUP BY 子句:指定分组字段,
HAVING子句:指定分组的搜索条件,通常与GROUP BY子句一起使用。
在分组查询中经常使用SUM()、AVG()、 COUNT()、 MAX()、 MIN()等汇聚函数计算每组的汇总值。
5.UPDATE语句的基本格式为:
UPDATE 表名 SET 字段名=表达式[,字段名=表达式,…]
[WHERE 更新条件]
UPDATE语句中各子句的意义如下:
(1)UPDATE:指定更新的表名。UPDATE语句每次只能更新一个表中的数据。
(2)SET:指定要更新的字段以及该字段的新值。其中新值可以是固定值,也可以是表达式,但是要确保和该字段的数据类型一致。
SET子句可以同时指定多个字段更新,每个字段之间用逗号分隔。
(insert语句字段顺序2)WHERE:指定更新条件。对于满足更新条件的所有记录,SET子句中的字段将按给定的新值更新。
WHERE子句中更新条件较多时,使用逻辑运算符AND、OR、NOT或LIKE、IN、BETWEEN的组合,也可以使用嵌套子查询设置更新条件。
如果没有指定任何WHERE子句,那么表中所有记录都被更新
6.DELETE语句的基本格式如下:
DELETE FROM 表名
[WHERE 删除条件]
DELETE语句中各子句的意义如下:
(1)DELETE FROM:指定删除记录的表名。DELETE语句每次只能删除一个表中的记录。
(2)WHERE:指定删除条件。对于符合条件的记录,DELETE语句将从表中删除。如果没有指定任何WHERE子句,则DELETE将删除所有记录。
7.INSERT语句的基本格式:
INSERT INTO 表名 [(字段列表)] VALUES (值列表)
其中:字段列表和值列表可以包含多个,并在字段间或值间以逗号分割。
INSERT语句中各子句的意义如下:
(1)INSERT INTO :指定插入记录的表名称。一条INSERT语句一次只能向一个表插入数据。
(2)VALUES:指定各字段值。这些值可以是固定值,也可以是表达式或函数运算的结果。
8.计算年领的sql语句。
SELECT 字段列表名 Year(date())-Year (出生年月)As 年龄
FROM 表名
9.Select 语句不仅可以实现简单的查询,还可以实现连接查询,分组统计,条件查询等各种查新方式 其基本格式为:
SELECT[表名.]字段名列表[AS <列标题>]
FROM<表名>
[INNER| LEFT|RIGHT JOIN 表名 ON 关联条件]
[Group BY 分组字段列表 [HAVING分组条件]]
[WHERE <条件表达式>]
[ORDER BY <列名>[ASC| DESC]]
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论