温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

精通SQL结构化查询---学习笔记3

发布时间:2020-07-11 14:25:32 来源:网络 阅读:247 作者:1224517743zyc 栏目:关系型数据库
  1. 对于汉字的排序,是按首字母的顺序来排序的。使用DISTINCT是要要付出代价的;因为要去掉重复值,必须对结果关系进行排序,相同的元组排列在一起,只有按这种方法对元组进行分组才能去掉重复值,而这一工作甚至比查询本身还费时间。

  2. 使用‘*’通配符时要慎重,在不需要查询所有列时,尽量采用前面介绍的单列查询或多列查询,以免占用过多的资源。

  3. ORDERBY子句一定要放在所有子句的最后,默认是ASC(递增排序)ORDER BY后面可

    以采用123……进行排序,123……代表了SELECT后面列的次序。

    例如:

    SELECT column1column2column3 FROM dual ORDER BY 12;则相当于

    SELECT column1column2column3 FROM dual ORDER BY column1column2

    3.1、当ORDERBY所需要的列不在SELECT语句所选的范围内时,采用列的序号显然是行不通的。这时可以将列别与序号混合起来解决这个问题。

    3.2、对大小写字符的排序,一般的数据库管理系统认为二者是等同的。

  4. WHERE子句获取FROM子句返回的结果集,并应用WHERE子句中定义的搜索条件对结果集进行筛选。对FROM子句返回结果的每一行都要根据搜索条件进行校验,符合条件的返回,不符合的从结果中去除。

  5. NULL值参与任何比较运算,结果都将视为FALSE,即,无论是“NULL <> 1200”还是

“NULL= 1200”,其结果都为FALSE;对NULL值得操作只能是:“IS NULL”或

IS NOT NULL”;NULL值参与的任何算数运算后,算数表达式的值都为NULL;如果NULL参与聚集运算,则除COUNT(*)之外其他聚集函数都忽略NULLNULL参与AND逻辑运算时,如下图:

精通SQL结构化查询---学习笔记3

精通SQL结构化查询---学习笔记3精通SQL结构化查询---学习笔记3


  1. 逻辑运算符“AND”的优先级高于“OR”,为了实现同时运算,应用括号。

    例如:下面SQL执行结果是计算机和生物类的薪资大于1000的所有老师的信息。

    SELECT TNAME, DNAME, SAL

    FROM TEACHER

    WHERE (DNAME = ‘计算机’OR DNAME = ‘生物’)

    AND SAL > 1000

    ORDER BY SAL;

    如果没有括号,则查询出来的是计算机类的薪资大于1000的所有老师的信息

  2. INOR相比,IN的优点如下:

  3. 当选择的条件很多时,采用IN运算符就显的很简便,只需在括号内用逗号间隔依次罗列即可。

  4. 使用IN运算符,其后面所列的条件可以是另一条SELECT语句,即子查询。

  5. LIKE运算符

    SQL语言中是通过通配符来实现的。SQL语言提供的通配符有“%”,“_”,“*”和“[]”;只有CHARVARCHARTEXT类型的数据才能使用LIKE运算符和通配符。

    当查询条件中没有通配符时可以用”<>”代替LIKE。例如:

    SELECT * FROM teacher t WHERE t.dname NOT LIKE ‘计算机’;等价于

    SELECT * FROM teacher t WHERE t.dname <> ‘计算机’;

    “%”表示任意多个字符;“_”代表一个字符;“[]”多个字符匹配;

    使用ESCAPE定义转义符,告诉DBMS后面的字符是实际值;例如:

    LIKE ‘%M%’ ESCAPE ‘M’;’M’前面的%是通配符,后面的是实际的字符。


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI