6. SQL的数据查询功能(一)基本结构及单表查询

本文介绍了SQL查询语句SELECT的基本结构,包括选择表中若干列、元组,比较大小,结果排序,使用集函数及对查询结果分组。详细讲解了WHERE、GROUP BY和HAVING子句的用法,并通过实例展示了如何进行单表查询,如查询特定条件的元组,计算表达式,以及对查询结果进行排序和分组。
摘要由CSDN通过智能技术生成

1. 查询语句 SELECT 的基本结构

SELECT [ALL | DISTINCT] <目标列表达式> [[AS] <新列名>] [,...n]
FROM <表名或试图名> [[AS] <别名>] [...n]
[WHERE <条件表达式>]
[GROUP BY <分组依据列>]
[HAVING <条件表达式>]
[ORDER BY <排序依据列> [ASC | DESC]] [...n]
[LIMIT N,M]

其中:

  1. [ALL | DISTINCT]:指定在结果集中是否显示重复行。ALL 表示显示,为默认值;DISTINCT 表示不显示。
  2. <目标列表达式> [[AS]<新列名>][,…n]:指定为结果集选定的列。特别地,如果该处为’*’,则表示输出所有列。
  3. <表名或视图名>[[AS]<别名>][,…n]:指定从其中检索数据的表或视图。
  4. [WHERE <条件表达式>]:指定数据 检索的条件。
  5. [GROUP BY <分组依据>]:实现对数据的分组查询。
  6. [HAVING <条件表达式>]:用于分组后的筛选条件。
  7. [ORDER BY <排序依据列>[ASC | DESC]][,…N]:对结果集按<排序依据列>指定的列的值排序。其中ASC表示升序排序,为默认值;DESC 表示降序排序。
  8. [LIMIT N,M]:表示只从查询结果集中删除从 N 到 M 行。

2. 单表查询

(1) 选择表中若干列
  1. 查询全体学生的详细记录
SELECT * FROM student;
  1. 查询全体学生的学号与姓名
SELECT Sno,Sname FROM studnet;
  1. 查询全体学生的姓名及年龄
SELECT Sname,YEAR(now()) - YEAR(Sbirth) FROM student;
  • 本例中,<目标表达式>中第二项不是通常的列名,而是一个计算表达式,是用当前的年份减去学生的日期,这样所得的即为学生的年龄。其中YEAR()是输出年份的函数,now()是输出当前日期的函数。
  1. 查询全体学生的姓名、出生年份
SELECT Sname AS 学生姓名 , YEAR(Sbirth) AS 出生年份 FROM student
(2) 选择表中若干元组

查询所有选修过课的学生的学号

SELECT DI
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值