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,一经查实,立即删除!

相关文章

mysql建表语句增加注释_MySQL建表语句+添加注释

1.建表注释CREATE TABLE student(id INT PRIMARY KEY AUTO_INCREMENT COMMENT 学号,name VARCHAR(200) COMMENT 姓名,age int COMMENT 年龄) COMMENT学生信息2.修改注释修改表注释-ALTER TABLE student COMMENT 学生表;修改列注释-ALTER TABLE student MODIFY COLUMN name VARC…

python类的使用_python类的使用

创建类和使用类 例子: 创建Dog类 __init__特殊方法 形参self class Dog: def init(self,name,age): #初始化属性name,age self.namename self.ageage def sit(self): #模拟小狗蹲下 print(self.name.title()" is now sitting.") def roll(self): #小狗被命令是打滚 p…

django orm mysql_Django之ORM操作Mysql

#单表查询操作基本方法classBookList(models.Model):title models.CharField(max_length32)price models.DecimalField(max_digits8,decimal_places2) #总共8位,小数占2位publist_date models.DateField() #DateField年月日,DateTimeField详细时间#单独测试models.…

获取两个圆的重合部分的经纬度_(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常看当前连接用户的信…

anbu三年模拟_暗部共享三年模拟软件库

暗部共享三年模拟软件库是非常易于使用。用户可以在其中安装下载资源,许多Internet参与者都愿意访问暗部共享三年模拟软件库来下载软件以供使用,并且其中的资源是真实的,不会有伪造的软件包,每个用户都可以放心下载。暗部共享叁年…

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

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

android 监听安装来源_Android编程监听APK安装与删除等过程的方法

本文实例讲述了Android编程监听APK安装与删除等过程的方法。分享给大家供大家参考,具体如下:软件下载后的一系列动作监听:先前是通过Service监听扫描获取状态,以后用这个方法测试使用import android.content.BroadcastReceiver;im…

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

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

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

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

python进程暂停_如何在Python中暂停多进程?

我希望用户能够在怎么开始的实现它?在我的代码是:# -*- coding: utf-8 -*-from PySide import QtCore, QtGuifrom Ui_MainWindow import Ui_MainWindowfrom queue import Queueimport sysimport multiprocessing, os, timedef do_work():print (Work Sta…

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装饰器应用论文_Python装饰器的应用场景代码总结

装饰器的应用场景 附加功能 数据的清理或添加: 函数参数类型验证 require_ints 类似请求前拦截 数据格式转换 将函数返回字典改为 json/YAML 类似响应后篡改 为函数提供额外的数据 mock.patch 函数注册 在任务中心注册一个任务 注册一个带信号处理器的函数不同应用场景下装饰器…

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

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

python读取大文件性能_强悍的Python读取大文件的解决方案

Python 环境下文件的读取问题,请参见拙文 Python基础之文件读取的讲解这是一道著名的 Python 面试题,考察的问题是,Python 读取大文件和一般规模的文件时的区别,也即哪些接口不适合读取大文件。1. read() 接口的问题f open(filen…

python mysql 保存csv_使用Python将csv文件快速转存到Mysql

因为一些工作需要,我们经常会做一些数据持久化的事情,例如将临时数据存到文件里,又或者是存到数据库里。对于一个规范的表文件(例如csv),我们如何才能快速将数据存到Mysql里面呢?这个时候,我们可以使用pyth…