数据库——数据查询

语句格式:

SELECT [ALL|DISTINCT] <目标列表达式列表>                                                  

FROM <表名或视图名列表>  join    <表名或视图名列表> on <连接条件>

[ WHERE <条件表达式> ]

[ GROUP BY <列名1> [ HAVING <条件表达式> ] ]

[ ORDER BY <列名2> [ ASC|DESC ] ];

SELECT子句:指定要显示的属性列

FROM子句:指定查询对象(基本表或视图)

WHERE子句:指定查询条件

GROUP BY子句:对查询结果按指定列的值分组,该属性列值相等的元组为一个组。通常会在每组中作用聚集函数。

HAVING短语:只有满足指定条件的组才予以输出

ORDER BY子句:对查询结果表按指定列值的升序或降序排序

 其中,SELECT后的目标列表达式可以是列名、表达式或函数。

查询列:

一、查询指定列

例:查询全体学生的学号与姓名。

SELECT Sno,Sname

FROM Student;

二、查询全部列

选出所有属性列:

在SELECT关键字后面列出所有列名

将<目标列表达式>指定为 *

选择元组:

消除取值重复的行:

如果没有指定DISTINCT关键词,则缺省为ALL

常用的查询条件:

①比较大小

②确定范围

谓词: (NOT) BETWEEN … AND …

③确定集合

谓词:IN <值表>, NOT IN <值表>

④字符匹配

谓词: [NOT] LIKE ‘<匹配串>’ [ESCAPE ‘ <换码字符>’]       --适用于字符日期时间类型

<匹配串>可以是一个完整的字符串,也可以含有通配符%和 _

% (百分号) 代表任意长度(长度可以为0)的字符串 如a%b表示以a开头,以b结尾的任意长度的字符串  

_ (下横线) 代表任意单个字符。      

如a_b表示以a开头,以b结尾的长度为3的任意字符串

[ ] 指定范围(如 [a-f])或集合( [acef])内的任何单个字符。

[^] 不在指定范围(如 [^a - f])或集合(如 [^acdef])内的任何单个字符。

⑤空值查询

谓词: IS NULL 或 IS NOT NULL

注:“IS” 不能用 “  =” 代替

⑥多重条件查询

逻辑运算符:AND和 OR来连接多个查询条件

AND的优先级高于OR,可以用括号改变优先级。

ORDER BY子句

可以按一个或多个属性列排序

升序:ASC;降序:DESC;缺省值为升序

对于空值,排序时显示的次序由具体系统实现来决定

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值