热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SQLZOO做题笔记

13、asc、desc(升序,降序)asc是指定列按升序排列(即:从小到大排序)---降序排列desc则是指定列按降序排列(

13、asc、desc(升序,降序)


asc是指定列按升序排列(即:从小到大排序) ---降序排列

desc则是指定列按降序排列(即:从大到小排序) ---升序排列

排序子句语法:order by 列名 asc/desc

例:查询选修 C2、C3、C4或C5课程的学号、课程号和成绩,查询结果按学号升序排列,学号相同再按成绩降序排列;
解:select sno 学号,cno 课程号,grade 成绩 from sc where cno in('c2','c3','c4','c5') order by sno asc,grade desc 



12、distinct(去重)



11、 getdate()(日期-时间函数)


返回某个时间戳或者当前本地的日期/时间的日期/时间信息。

  • 返回带有与时间戳相关的信息的关联数组:
  • [seconds] - 秒
  • [minutes] - 分
  • [hours] - 小时
  • [mday] - 一个月中的第几天
  • [wday] - 一周中的某天
  • [mon] - 月
  • [year] - 年
  • [yday] - 一年中的某天
  • [weekday] - 星期几的名称
  • [month] - 月份的名称
  • [0] - 自 Unix 纪元以来经过的秒数

例: 从系统当前日期中返回系统当前的年份数、月份数和天数。

解:select 
    year(GETDATE()) 年份,
    MONTH(getdate()) 月份,
    DAY(getdate()) 号数



10、decimal(浮点型)


声明语法是:decimal(M,D)

  • M是最大位数(精度)。范围是1到65。
  • D是小数点右边的位数(小数位)。范围是0到30,并且不能大于M。
  • 如果D省略,则默认值为0。如果 M省略,则默认值为10。
  • 赋值的时候小数位如果没有D位,则会自动补0;整数位如果大于M位会出错,小于M位没事,如果没有数字会自动补零

例: 定义一个名为@Height 的局部变量,数据类型是decimal(5,3) ,给该变量赋值并显示其值。

解:declare @Height decimal(5,3)--浮点型,5表示共有5位数,3表示小数位数
       set @Height=12.000--赋值的时候小数位如果没有3位,则会自动补0;整数位如果大于2位会出错,小于2位没事,如果没有数字会自动补零
        print @Height



9、给date类型赋值


用单引号赋值,日期之间用空格、/、点、-分隔或不分割都行

例:定义一个名为@Birthday 的局部变量,数据类型是date,给该变量赋值并显示其值。

解:declare @Birthday date
set @Birthday='2021 11 1'或者

set @Birthday='2021/11/1'或者

set @Birthday='2021.11.1'或者

set @Birthday='20211101'
print @Birthday



8、any


All:只有当其所有数据都满足条件时,条件才成立
Any:只要有一条数据满足条件,条件就成立,与in的用法一样
Some:其中存在一些数据满足条件,作用和Any大致相同 常规的使用中看作一致即可

例:查询其他系中比挖掘机系某一学生年龄小的学生姓名和年龄。
解&#xff1a;select sname,sage from student where sdept !&#61;&#39;挖掘机&#39; and sage<&#61;any(select sage from student where sdept&#61;&#39;挖掘机&#39;)



7、order by&#xff08;排序&#xff09;


默认为升序&#xff08;ASC&#xff09;&#xff0c;降序&#xff08;DESC)

  • 多列排序时&#xff0c;如果第一列相同的情况下&#xff0c;会根据第二列继续排序。

例&#xff1a;查询选修 C2、C3、C4或C5课程的学号、课程号和成绩&#xff0c;查询结果按学号升序排列&#xff0c;学号相同再按成绩降序排列&#xff1b;
解&#xff1a;select sno 学号,cno 课程号,grade 成绩 from sc where cno in(&#39;c2&#39;,&#39;c3&#39;,&#39;c4&#39;,&#39;c5&#39;) order by sno asc,grade desc 



6、group by&#xff08;分组\去重合并&#xff09;


  • 用于对查询结果进行分组统计

例题&#xff1a;查询选修课程超过5门的学生学号和专业

解&#xff1a;

select 学号&#xff0c;专业

from 学生信息表

where 学号 in

        &#xff08;select 学号 from 选课信息表 group by 学号 having count(*)>5)



5、反向查询


例题&#xff1a;查询不选修课程号为"C5"的学生的姓名和所属单位 

解&#xff1a;

select 姓名,单位

from 学生信息表&#xff0c;选课信息表

where学生信息表.学号&#61;选课信息表.学号

        and 学生信息表.学号 not in

                (select 学生信息表.学号 from 学生信息表&#xff0c;选课信息表 where  课程号&#61;&#39;C5&#39;)

解释&#xff1a;先找出选了C5课程的学生学号&#xff0c;然后找出不属于这部分学生的学生学号




 4、insert&#xff08;插入&#xff09;


  • 语法格式&#xff1a;
  • 一次插入一个元组

insert into <表名> [(<属性列1>,<属性列2>...)]

        有颜色的一段可以有可以无&#xff0c;如果省略的话表示源表的全部属性

values (<常量1>[,<常量2>]...)

        有颜色的一段的顺序必须和上一句的顺序相同&#xff0c;如果上一句省略了&#xff0c;那就和源表的顺序一样

  • 一次插入多个元组

insert into <表名> [(<属性列1>,<属性列2>...)]

values (<常量1>[,<常量2>]...)&#xff0c;(<常量1>[,<常量2>]...)&#xff0c;(<常量1>[,<常量2>]...)&#xff0c;....




3、foreign&#xff08;外键&#xff09;


  • foreign key(Cno) references Course(Cno)
  • 解释&#xff1a;定义了Cno作为外键&#xff0c;参照了Course表的Cno
  • Cno char(4) references Course(Cno)
  • 解释&#xff1a;直接在后边加references也是定义外键




 2、replace


  • 语法&#xff1a;replace ( string_expression , string_pattern , string_replacement )
  • string_expression 要搜索的字符串表达式。string_expression 可以是字符或二进制数据类型。
  • string_pattern 是要查找的子字符串。string_pattern 可以是字符或二进制数据类型。string_pattern 不能是空字符串 (&#39;&#39;")。
  • string_replacement 替换字符串。string_replacement 可以是字符或二进制数据类型。
  • 返回类型&#xff1a;如果其中的一个输入参数数据类型为 nvarchar&#xff0c;则返回 nvarchar&#xff1b;否则 replace 返回 varchar。
  • 如果任何一个参数为 NULL&#xff0c;则返回 NULL。

做题图&#xff1a;



1、concat


  • 功能&#xff1a;将多个字符串连接成一个字符串。
  • 语法&#xff1a;concat(str1, str2,...)
  • 返回结果为连接参数产生的字符串&#xff0c;如果有任何一个参数为null&#xff0c;则返回值为null。

做题图&#xff1a; 




推荐阅读
  • 总结一下C中string的操作,来自〈CPrimer〉第四版。1.string对象的定义和初始化:strings1;空串strings2(s1);将s2初始 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • 本文介绍了使用哈夫曼树实现文件压缩和解压的方法。首先对数据结构课程设计中的代码进行了分析,包括使用时间调用、常量定义和统计文件中各个字符时相关的结构体。然后讨论了哈夫曼树的实现原理和算法。最后介绍了文件压缩和解压的具体步骤,包括字符统计、构建哈夫曼树、生成编码表、编码和解码过程。通过实例演示了文件压缩和解压的效果。本文的内容对于理解哈夫曼树的实现原理和应用具有一定的参考价值。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 本文介绍了游标的使用方法,并以一个水果供应商数据库为例进行了说明。首先创建了一个名为fruits的表,包含了水果的id、供应商id、名称和价格等字段。然后使用游标查询了水果的名称和价格,并将结果输出。最后对游标进行了关闭操作。通过本文可以了解到游标在数据库操作中的应用。 ... [详细]
  • ALTERTABLE通过更改、添加、除去列和约束,或者通过启用或禁用约束和触发器来更改表的定义。语法ALTERTABLEtable{[ALTERCOLUMNcolu ... [详细]
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
  • 本文介绍了使用C++Builder实现获取USB优盘序列号的方法,包括相关的代码和说明。通过该方法,可以获取指定盘符的USB优盘序列号,并将其存放在缓冲中。该方法可以在Windows系统中有效地获取USB优盘序列号,并且适用于C++Builder开发环境。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 纠正网上的错误:自定义一个类叫java.lang.System/String的方法
    本文纠正了网上关于自定义一个类叫java.lang.System/String的错误答案,并详细解释了为什么这种方法是错误的。作者指出,虽然双亲委托机制确实可以阻止自定义的System类被加载,但通过自定义一个特殊的类加载器,可以绕过双亲委托机制,达到自定义System类的目的。作者呼吁读者对网上的内容持怀疑态度,并带着问题来阅读文章。 ... [详细]
  • 本文介绍了Oracle存储过程的基本语法和写法示例,同时还介绍了已命名的系统异常的产生原因。 ... [详细]
  • 手把手教你使用GraphPad Prism和Excel绘制回归分析结果的森林图
    本文介绍了使用GraphPad Prism和Excel绘制回归分析结果的森林图的方法。通过展示森林图,可以更加直观地将回归分析结果可视化。GraphPad Prism是一款专门为医学专业人士设计的绘图软件,同时也兼顾统计分析的功能,操作便捷,可以帮助科研人员轻松绘制出高质量的专业图形。文章以一篇发表在JACC杂志上的研究为例,利用其中的多因素回归分析结果来绘制森林图。通过本文的指导,读者可以学会如何使用GraphPad Prism和Excel绘制回归分析结果的森林图。 ... [详细]
author-avatar
Andy
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有