8.4.1 SELECT和简单查询

一、SELET语法

SELECT  [ ALL | DISTINCT ] 列名[AS 别名1] [{
   
   ,列名[AS别名2]}]
FROM 表名1或视图名1[,表名2或视图2]
[WHERE条件表达式1]
[GROUP BY 列名1 [HAVING条件表达式21]
[ORDER BY 列名2 [ASC|DESC]
[LIMIT 子句]

ALL返回所有行,DISTINCT返回所有不重复行
GROUP BY 语句用于结合聚合函数,根据一个或多个列对结果集进行分组。
ORDER BY 关键字用于对结果集按照一个列或者多个列进行排序。DESC降序
LIMIT用于规定要返回的记录的数目
在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与聚合函数一起使用。
HAVING 子句可以让我们筛选分组后的各组数据。

二、简单查询

1.查询全部列

查询全体学生的详细记录

SELECT *
FROM Stu;

“ * ”表示将所有的字段都显示出来

2.查询指定列

相当于投影运算

SELECT Sno,Sname
FROM Stu;

3.消除取值重复的行

在SELECT子句中使用DISTINCT短语
不写默认是ALL

SELECT [ALL|DISTINCT] Sclass
FROM Stu;

4.为表、列起别名

SELECT Sclass AS 别名1,Sname AS 别名2
FROM Stu AS 别名3;

查询全体学生,学号,姓名,年龄。

SELECT Sno,Sname,YEAR(NOW())-YEAR(Sbirth) AS 年龄
FROM Stu;

CURRENT_DATA:获取系统日期,返回的是当前日期,是年-月-日的数据形式。
NOW() 返回的是当前的日期和时间,既有年月日还有时分秒

猜你喜欢

转载自blog.csdn.net/qq_25887493/article/details/124081411