asp点击按钮sql列求和_SQL 结构化查询语言

SQL特点

SQL是大小写无关的,但一般的习俗是,关键字大写(SELECT WHERE),用户自定义的小写,如表名。

SQL如何注释, 两个 -- 开头,即为注释。

SQL只用于关系型数据库,如MySQL,NoSQL数据库,不能用SQL去查询。

尽管SQL有ISO的标准,但各个厂商在实现上,可能有微小的语法区别,所以遇到这种情况,要看自己所使用的数据库的SQL语法。


什么是关系型数据库?

关系型数据库就是数据以关系的形式存储。

例如下表,这是一张student表,记录的是学生的roll_no,name,address,phone,age。

这就是关系,学生的名字,学生的地址,等等。

v2-e8388d05913b345a67925f7c65ac0dcc_b.jpg

有一些专业术语。

attribute, 属性,就是用来定义关系的,如name,age等,

tuple,元组,或叫一组元素,关系中的每一行叫一个tuple。

tuple的原意是 a structure of data that has several parts

一个有多部分组成的数据结构

一个tuple就是一行数据

度 degree,有几个属性,就叫有几个度,上面这个表有5个属性,也就是 5度。

Cardinality这个表有多少行

Column 列。列表示有个属性的值的集合。下面这就是Roll_no 的列。

v2-d37485bca46df0e6c48b57142aeeb8d2_b.jpg

查询语句分为三类

1,DDL Data Definition Language ,数据定义语句

用来定义数据库的结构,如CREATE TABLE, ADD COLUMN, DROP COLUMN等

2,DML Data Manipulation Language , 数据操作语句

操作关系中的数据,如 INSERT, DELETE, UPDATE等

3,DQL Data Query Language 数据查询语句

select

通常查询语句有以下四部分组成

  1. SELECT [DISTINCT] Attribute_List FROM R1,R2….RM
  2. [WHERE condition]
  3. [GROUP BY (Attributes)[HAVING condition]]
  4. [ORDER BY(Attributes)[DESC]];

例句1 ,查询所有学生的Roll_No和名字

SELECT ROLL_NO, NAME FROM STUDENT;

例句2,查询ROLL_NO大于2的学生的Roll_No和名字

SELECT ROLL_NO, NAME FROM STUDENT WHERE ROLL_NO>2;

例句3,如果想要获取全部属性,可以使用* 代替 书写全部的属性

SELECT * FROM STUDENT
WHERE
ROLL_NO>2;

例句4,如果想要以age的升序来排序,可以用order by子句

SELECT * FROM STUDENT ORDER BY AGE;

默认是按照升序排列的,所以ORDER BY AGE等于ORDER BY AGE ASC,

如果要倒序,改为ORDER BY AGE DESC

例句5,如果想要某个值只出现一次,使用DISTINCT

SELECT DISTINCT ADDRESS FROM STUDENT;


AGGRATION FUNCTIONS (聚集函数)

常见的函数有

count 用来计算有多少行

sum 求属性的和

还有 min,max,avg可以用,所有的聚集函数,只返回一行数据。

GROUP By 用来将数据根据一个属性或者一组属性来分组。而且总是和聚集函数连用。

例句6

SELECT ADDRESS, SUM(AGE) FROM STUDENTGROUP BY (ADDRESS);

SUM(AGE)不是按照所有的年龄求和,而是按照分组后的年龄求和。

例句7

SELECT ROLL_NO, ADDRESS, SUM(AGE) FROM STUDENTGROUP BY (ADDRESS);

这个句子是错的,应为每个地址中的学生的ROLL_NO是不一样的,所以select从句后的属性 应该加上聚集函数,让这个SQL查询有意义。

所以当使用GROUP By的时候,GROUP By中的属性,可以出现在select中,而不在GROUP By的部分,需要使用集合函数。

翻译自:

Structured Query Language (SQL) - GeeksforGeeks​www.geeksforgeeks.org
v2-c2feca389b6fb70d881604bc7a8d03ef_ipico.jpg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/502962.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

获取两个圆的重合部分的经纬度_(2)万向节的装配和动画仿真:重合同轴心装配约束很常用...

前面的一篇文章中我们已经将万向节装配完成了一部分,还有一部分没有完成装配。前面的装配当中用到了重合,同轴心,相切的装配约束,这几个装配约束都是比较常用的大家一定要注意掌握。前面的话接下来的课程当中我们将会进行完整的装…

php无法连接mysql_php无法连接数据库

PHP无法连接数据库的解决办法总结:1、获取当前 mysql.default_socket、mysqli.default_socket、pdo_mysql.default_socket 配置信息建立一个 PHP 文件,显示 phpinfo(),用浏览器打开如图:在此页面,找到mysql.default_socket、mysql…

oracle 查看监听命令_linux下使用Oracle常用命令

进入Oracle用户1su - oracle以dba身份进入sql语句1sqlplus / as sysdba启动数据库相关命令启动数据库1startup启动监听(关闭监听的命令lsnrctl stop),退出sql编写界面1lsnrctl start关闭数据库服务,在sql编写界面1shutdown immediate常看当前连接用户的信…

对飞行前请求的响应未通过访问控制检查:它没有http ok状态。_对不起,看完这篇HTTP,真的可以吊打面试官...

点击上方“码农沉思录”,选择“设为星标”优质文章,及时送达HTTP 内容协商什么是内容协商在 HTTP 中,内容协商是一种用于在同一 URL 上提供资源的不同表示形式的机制。内容协商机制是指客户端和服务器端就响应的资源内容进行交涉,…

mysql hma 分布式_mysql基础之mariadb集群双主(主主)架构

一、概念在企业中,数据库高可用一直是企业的重中之重,中小企业很多都是使用mysql主从方案,一主多从,读写分离等,但是单主存在单点故障,从库切换成主库需要作改动。因此,如果是双主或者多主&…

c++十六进制转十进制_一文帮你详细图解二进制、八进制、十进制、十六进制之间的转换...

1、背景(Contexts)之前使用SQL把十进制的整数转换为三十六进制,SQL代码请参考:SQL Server 进制转换函数,其实它是基于二、八、十、十六进制转换的计算公式的,进制之间的转换是很基础的知识,但是我发现网络上没有一篇能…

ceph存储原理_赠书 | Linux 开源存储全栈详解——从Ceph到容器存储

//留言点赞赠书我有书,你有故事么?留言说出你的存储故事留言点赞前两名,免费送此书截止日期12.27号12.30号公布名单//内容简介本书致力于帮助读者形成有关Linux开源存储世界的细致的拓扑,从存储硬件、Linux存储堆栈、存储加速、存…

mysql双主 绿色_mysql (双主,互主)

Master-Master(双主)1、测试环境Master/Slave Master1/Slave1IP 192.168.1.13 192.168.1.10为了保持干净的环境:两边服务器rm -rf /var/lib/mysql/*service mysqld restartIP:192.168.1.13IP:192.168.1.102、…

学习在UE中通过Omniverse实现对USD文件的Live-Sync(实时同步编辑)

目标 前一篇 学习了Omniverse的一些基础概念。本篇在了解这些概念的基础上,我想体验下Omniverse的一些具体的能力,特别是 Live-Sync (实时同步) 相关的能力。 本篇实践了使用Omniverse的力量在UE中建立USD文件的 Live-Sync 编辑。由于相关的知识我是从…

keras卷积处理rgb输入_CNN卷积神经网络模型搭建

前言前段时间尝试使用深度学习来识别评测过程中的图片,以减少人力成本。目前是在深度学习框架Keras(后端使用TensorFlow)下搭建了一个CNN卷积神经网络模型,下面就如何搭建一个最简单的数字图像识别模型做下介绍。模型的建立(1) 卷积层(convolution layer…

python中try命令_Python 异常处理 Python 基础教程 try..except

异常处理在之前的学习中我们一直没有接触过。 哦对,我们甚至还不知道怎么向程序输入一段字符串。那么我们在这里提供一个小例子。 在命令行中,我们输入 s raw_input(Enter something --> )好了,我们已经知道如何输入一个字符串了&#xf…

python分词_Python 结巴分词实现关键词抽取分析

1 简介 关键词抽取就是从文本里面把跟这篇文档意义最相关的一些词抽取出来。这个可以追溯到文献检索初期,当时还不支持全文搜索的时候,关键词就可以作为搜索这篇论文的词语。因此,目前依然可以在论文中看到关键词这一项。 除了这些&#xff0…

redis 如何 mysql_Redis 如何保持和 MySQL 数据一致

一、需求起因在高并发的业务场景下,数据库大多数情况都是用户并发访问最薄弱的环节。所以,就需要使用redis做一个缓冲操作,让请求先访问到redis,而不是直接访问MySQL等数据库。这个业务场景,主要是解决读数据从Redis缓…

iframe 跨域_【梯云纵】搞定前端跨域

韦陀掌法,难陀时间善恶;梯云纵,难纵过乱世纷扰。现在开始写代码o(╯□╰)o什么是跨域1.跨域的定义广义的跨域是指一个域下对的文档或者脚本试图去请求另外一个域下的资源。a链接、重定向、表单提交、、、等标签background:url()、font-face()ajax 跨域请求……狭义的…

java中exception_Java中的异常 Exceptions

1. 概念exception是“exceptional event”的缩写,是指执行程序中发生的事件,破坏了程序的正常执行流程。Java 异常处理机制使程序更加健壮易于调试,它可以告诉程序员三个问题:错误的类型、位置、原因,帮助程序员解决错…

python异步asy_Python 异步编程之asyncio【转载】

一、协程的认识 协程(Coroutine),也可以被称为微线程,是一种用户态内的上下文切换技术。 简而言之,其实就是通过一个线程实现代码块相互切换执行。例如:deffunc1():print(1) ...print(2)deffunc2():print(3…

bitcount java_Java源码解释之Integer.bitCount

Java中的Integer.bitCount(i)的返回值是i的二进制表示中1的个数。源码如下:public static int bitCount(int i) {// HD, Figure 5-2i i - ((i >>> 1) & 0x55555555);i (i & 0x33333333) ((i >>> 2) & 0x33333333);i (i (i >&…

git merge 冲突_卧槽!小姐姐用动画图解 Git 命令,这也太秀了吧?!

公众号关注 “GitHubDaily”设为 “星标”,每天带你逛 GitHub!大家好,我是小 G。在座的各位应该都知道,Git 作为居家必备、团队协作之利器,自从 Linus Torvalds 发布这款工具后,便一直受到各路开发者的喜爱…

android 删除文件 代码_代码审计之某系统后台存在任意删除文件

本文作者:霾团队交流群:673441920-----------------------------------------------------------前言POC镇楼!!!POST 漏洞演示过程:首先我们利用D盾监听下我们的项目以外的目录。这里刚刚我们创建了这个文件…

ubuntu java8 java9_在Ubuntu/Debian系统上安装Java 9的方法

本文介绍在Ubuntu/Debian系统上安装Oracle Java 9的方法:使用webupd8team/java PPA,相同的PPA提供了Java 8和Java 7等旧版Java的软件包,如果你的应用程序需要这个,可以随意安装它们。要安装新版本可参考在Ubuntu 18.04系统上安装J…