第七章 一些问答题

本文介绍了SQL查询中DISTINCT关键字的全列应用,ORDER BY与LIMIT子句的配合使用,以及WHERE子句中条件的括号使用。同时,讨论了使用通配符匹配时可能出现的问题,如隐藏的空格导致的匹配失败,并提供了使用TRIM函数的解决方案。
摘要由CSDN通过智能技术生成

1.DISTINCT可以应用于所有的列吗?

在查询结果中,如果需要对列进行降序排列,可以使用DESC,这个关键字只能对其前面的列进行降序排列。例如,要对多列都进行降序排列,必须要在每一列的列名后面加DESC关键字。而DISTINCT不同,DISTINCT不能部分使用。换句话说,DISTINCT关键字应用于所有列而不仅是它后面的第一个指定列。例如,查询3个字段s_id、f_name、f_price,如果不同记录的这3个字段的组合值都不同,那么所有记录都会被查询出来。

2.ORDER BY可以和LIMIT混合使用吗?

在使用ORDER BY子句时,应保证其位于FROM子句之后,如果使用LIMIT,则必须位于ORDER BY之后,如果子句顺序不正确,MySQL将产生错误消息。

3.什么时候使用引号?

在查询的时候,会看到在WHERE子句中使用条件,有的值加上了单引号,而有的值未加。单引号用来限定字符串,如果将值与字符串类型列进行比较,则需要限定引号;而用来与数值进行比较则不需要用引号。

4.在WHERE子句中必须使用圆括号吗?

任何时候使用具有AND和OR操作符的WHERE子句都应该使用圆括号明确操作顺序。如果条件较多,即使能确定计算次序,默认的计算次序也可能会使SQL语句不易理解,因此使用括号明确操作符的次序是一个好的习惯。

5:为什么使用通配符格式正确,却没有查找出符合条件的记录?

在MySQL中存储字符串数据时,可能会不小心把两端带有空格的字符串保存到记录中,而在查看表中记录时,MySQL不能明确地显示空格,数据库操作者不能直观地确定字符串两端是否有空格。例如,使用LIKE’%e’匹配以字母e结尾的水果的名称,如果字母e后面多了一个空格,则LIKE语句不能将该记录查找出来。解决的方法是使用TRIM函数,将字符串两端的空格删除之后再进行匹配。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值