SQL基础学习总结:3(select语句基础算术运算符比较运算符)
select语句基础
列的查询
从表中选取数据时需要使用select语句,通过select语句查询并选取出必要数据的过程称为匹配查询或查询。
语法结构如下:
select <列名1>,<列名2>,<列名3>...
from <表名>;
该select语句包含了select和from两个子句。
通过以上语句我们就可以查询某个表的某一列的内容了,如下图:
查询单列:
查询多列:
查询结果中列的顺序和select子句中的顺序相同,如下图:
我们如果想要快速查询表格中的所有的列时,可以使用代表所有列的"*",语法结构如下:
select *
from <表名>;
例:
当然,如果使用星号的话,就无法设定列的显示顺序了,这时将会按照创建表时的列的顺序显示。
注意:在查询之前要先选择使用所查询表所在的数据库,否则将会出现错误,如下图:
选择使用数据库的语句十分简单,语法结构如下:
use <数据库名称>;
例:
当出现了Database changed语句后你就可以对该数据库里面的表格进行修改了。
为列设置别名
SQL语句可以使用AS关键字为列设置别名,语法结构如下:
select <列名1> AS <别名1>,<列名2> AS <别名2>,...
from <表名>;
别名可以使用中文,使用中文时需要用**双引号(")**将中文别名括起来。
例:
常数的查询
我们往表里面输入的信息为常数,常见常数有字符串常数、数字常数、日期常数。
我们同样可以使用select语句查询出这些常数,语法结构如下:
select
例:
注意:在SQL语句中使用字符串或者日期常数时,必须使用单引号( ’ )将其括起来。
从结果中删除重复行
当我们想要查看商品一共有多少个种类时,我们可以选择删除重复的数据来实现。
删除重复行时,就可以通过在select子句中使用distinct来实现,语法结构如下:
select distinct <列名>
from <表名>;
例:
注意:在使用distinct时,null也被视为一类数据。
我们也可以多列使用distinct,此时,会将多个列的数据进行组合,将重复的数据合并到一块,语法结构如下:
select distinct <列名1>,<列名2>,...
from <表名>;
注意:distinct关键字只能用在第一个列名之前。
根据where子句来选择记录
select语句可以通过where子句来指定查询数据的条件,可以查询出只符合该条件的记录,语法结构如下:
select <列名>,...
from <表名>
where <条件表达式>;
该语句的原理是:先通过where子句查询出符合指定条件的记录,然后再选取出select语句指定的列。
例:
例子中的”product_type=‘文具’“就是用来表示查询条件的表达式(条件表达式),上述条件就是将product_type列的值和’文具’进行比较,判断是否相等。
其实也可以这样使用,如下图:
像上图中只选取出了product_name列,并没有product_type列的内容。
注意:SQL中子句的书写顺序是固定的,不能随意更改。
随意更改子句的顺序会造成错误,如下图所示:
注释的书写方法
注释是SQL语句中用来标识说明或者注意事项的部分,注释对SQL的执行没有任何影响。
注释的书写方法分两种:
- 一行注释
书写在“- -”之后,只能写在同一行 - 多行注释
书写在“/* ” 和“ */”之间,可以跨多行
注意:“- -”之后需要加入一个空格,不加的话就不会被认为是注释。
例:
一行注释:
多行注释:
算术运算符和比较运算符
算术运算符
SQL语句中可以使用计算表达式。
例:
从上图的例子中我们可以看出来,"product_price"进行了一个乘法的运算,事实上我们还可以进行以下的运算:
含义 | 运算符 |
---|---|
加法运算 | + |
减法运算 | - |
乘法运算 | * |
除法运算 | / |
四则运算所使用的运算符称为算术运算符。
当然,SQL语句中也可以像平常运算表达式那样使用括号(),优先进行运算。
注意:所有包含null的计算,其结果一定是null。
比较运算符
比较运算符
运算符 | 含义 |
---|---|
= | 和~相等 |
<> | 和~不相等 |
>= | 大于等于~ |
> | 大于~ |
<= | 小于等于~ |
< | 小于~ |
比较运算符用在日期数据上
比较运算符还可以使用在日期上,如下图:
上图中的“regist_date<‘2020-05-19’”表示在2020-05-19之前的日期。
比较运算符用在字符数据上
我们创建了一个新表,里面只有一个字符型的列,如下图:
往表里面插入数据
表的内容
使用比较运算符对这些字符型数据进行比较
用数字和字符串进行比较
如果字符串开头带有数字,则和字符串开头的数字进行比较,如下图:
字符串和字符串进行比较
比较字符串的ASCLL码值的大小,如下图:
不能对NULL使用比较运算符(IS NULL运算符和IS NOT NULL运算符)
我们往表中插入了两个价格为NULL的数据,如下图:
在表中进行比较
我们可以看到,无论如何进行比较,两个价格为NULL的商品都不会出现。
就算我们直接使用“=”也不会出现…
其实SQL中提供了专门用来判断是否为NULL的IS NULL运算符,我们可以通过它选取价格为NULL的商品,如下:
当然,既然可以选取是NULL的,也可以选取不是NULL,使用IS NOT NULL运算符即可,如下图:
相关文章:
Linux——Linux概念架构的理解
摘要 Linux kernel成功的两个原因:(1)灵活的架构设计使得大量的志愿开发者能够很容易加入到开发过程中;(2)每个子系统(尤其是那些需要改进的)都具备良好的可扩展性。正是这两个原因使…

2022-2028年中国GPS导航行业投资分析及前景预测报告
【报告类型】产业研究 【报告价格】4500起 【出版时间】即时更新(交付时间约3个工作日) 【发布机构】智研瞻产业研究院 【报告格式】PDF版 本报告介绍了中国GPS导航行业市场行业相关概述、中国GPS导航行业市场行业运行环境、分析了中国GPS导航行业市…

Geohash的精度问题
网上的关于Geohash的精度问题的说明都不够完整,做了一下补充,可以参见本文表格。 具体的计算方法:Latitude的范围是:-90 到 90Longitude的范围:-180 到 180地球参考球体的周长:40075016.68米geohash长度Lat…

在CentOS上把MySQL从5.5升级到5.6
在CentOS上把MySQL从5.5升级到5.6 摘要:本文记录了在CentOS 6.3上,把MySQL从5.5.28升级到5.6.19的过程。 1. 概述 在我做的一个项目中,最近我对生产服务器上的一系列系统软件进行了升级,包括Git、Nginx、MySQL和PHP。这篇文章讲的…

在3ds Max和Vray中创建赛博朋克圣诞老人室内场景
我叫奥马尔萨米罗什迪,建筑师、室内设计师、助理讲师、摄影师和3d艺术家。2019年获得建筑学硕士学位。我曾为多家建筑事务所和顾问工作,甚至建立了自己的建筑工作室。我有很长的大学教学生涯,从2013年开始;我曾在知名大学教授设计…

Java之网络通信框架mina
mina是一个基于java nio的网络通信框架。主要屏蔽了网络通信的一些细节,对Socket进行封装,并且是NIO的一个实现架构,可以帮助我们快速的开发网络通信,常用于游戏的开发、中间件服务端的程序中。Apache的Mina(Multipurpose Infrastructure Networked Applications)是一个网络应用框架,可以帮助用户开发高性能和高扩展性的网络应用程序;它提供了一个抽象的、事件驱动的异步API,使。

GIT常用命令大全
git config --global color.ui true //让git显示颜色//忽略特殊文件//.gitignore文件 # Windows: Thumbs.db*.egg*.egg-infodist//把该文件也提交到git$ git add -f App.class //强制添加被忽略的特殊文件。

SQL基础学习总结:5(HAVING子句的使用ORDER BY排序子句的使用)
为聚合结果指定条件 HAVING子句 HAVING子句可以让我们筛选分组之后的各种数据,其语法结构如下: SELECT <列名1>,<列名2>,<列名3> FROM <表名> GROUP BY <列名1>,<列名2>,<列名3> HAVING <分组结果对应的…

【转】android错误 aapt.exe已停止工作的解决方法
http://www.jb51.net/article/57420.htm 在使用eclipse进行安卓java的编程的时候,有时候我们会遇到这样的问题:那就是无故弹出aapt.exe停止工作的提示,虽然程序不会崩溃,但是这个提示经常弹出很是烦人。今天,小编就来教…

2022-2028年中国FEP薄膜行业市场发展规模及市场分析预测报告
【报告类型】产业研究 【报告价格】4500起 【出版时间】即时更新(交付时间约3个工作日) 【发布机构】智研瞻产业研究院 【报告格式】PDF版 本报告介绍了中国FEP薄膜行业市场行业相关概述、中国FEP薄膜行业市场行业运行环境、分析了中国FEP薄膜行业市…

Android-----View绘制流程以及invalidate()等相关方法分析 .
引自:http://blog.csdn.net/qinjuning/article/details/7110211 前言: 本文是我读《Android内核剖析》第13章----View工作原理总结而成的,在此膜拜下作者 。同时真挚地向渴望了解 Android 框架层的网友,推荐这本书,希望…

实现ASP.NET MVC3 HtmlHelper 的 RadioButtonList 与CheckBoxList 扩展
ASP.NET MVC3也出来有一段时间了,对于没有RadioButtonList 与CheckBoxList的问题,网上也已经有很多解决方案了,可以for循环拼接出来,也可以引用ASP.NET MVC Toolkit,等等方法。其实本没有必要写出来的,不过…

Blender从头到尾创建一个低多边形场景学习教程
Low Poly Landscapes – Blender Bite Sized Course 流派:电子学习| MP4 |视频:h264,1280720 |音频:AAC,48.0 KHz 语言:英语中英文字幕(根据原英文字幕机译更准确)|大小解压后:3.9 GB |时长:6h 0m 从头到尾创造一个低聚…

SQL基础学习总结:6(INSERT语句的相关使用方法)
数据的插入(INSERT语句的使用方法) 我们之前在表的创建部分简单地介绍了一下INSERT语句的功能和使用方法,现在我们再详细讲一下它的用法。 INSERT语句的基本语法 其语法结构如下: INSERT INTO <表名> (列名1,列名2,列名3...)-> VALUES (数据…

JVM安全退出(如何优雅的关闭java服务)
为了保障应用重启过程中异步操作的执行,避免强制退出JVM可能产生的各种问题,我们可以采用关闭钩子、自定义信号的方式,主动的通知JVM退出,并在JVM关闭前,执行应用程序的一些扫尾工作,进一步保证应用程序可以安全的退出。

常用的CSS(收集)
1. 防padding属性改变盒子模型宽度 Css代码 * { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } 当前css将固定盒子模型宽度总是以(显示)指定的宽度(width:300px)为准, 并不会受到padding而强制改变和模型宽…

2022-2028年中国EMI膜产业发展态势及市场发展策略报告
【报告类型】产业研究 【报告价格】4500起 【出版时间】即时更新(交付时间约3个工作日) 【发布机构】智研瞻产业研究院 【报告格式】PDF版 本报告介绍了中国EMI膜行业市场行业相关概述、中国EMI膜行业市场行业运行环境、分析了中国EMI膜行业市场行业…

JS报“Uncaught TypeError: undefined is not a function ”异常
最终的原因是:js引用的位置太靠后,导致使用js方法时,js库还没加载。报此异常的可能原因有: 1、函数名写错了; 2、没有引用js文件; 3、定义晚了转载于:https://www.cnblogs.com/finalstar/p/4254632.html

密码学摘要算法之MD5
摘要算法 摘要算法是一种能产生特殊输出格式的算法,这种算法的特点是:无论用户输入什么长度的原始数据,经过计算后输出的密文都是固定长度的,这种算法的原理是根据一定的运算规则对原数据进行某种形式的提取,这种提取就是摘要&…

Revit:从入门到精通学习教程
流派:电子学习| MP4 |视频:h264,1280720 |音频:AAC,48.0 KHz 语言:英语中英文字幕(根据原英文字幕机译更准确) |大小:8.07 GB |时长:12h 16m Revit:从开始到专业掌握Revit 你会学到什么 Revit的最新功能 在Revit中创建…

JDBC编程:1(使用JDBC连接数据库)
使用JDBC连接数据库 下载连接MySQL数据库的驱动 这个jar包可以在官网上对照着你的MySQL版本来下载,这里我下载的是最新的8.0.20版本, 这里是8.0.20版本的驱动包:mysql-connector-java-8.0.20.zip 因为CSDN的积分不能设置永久免费࿰…

VS2010 编译 QT4.8.7 x64
1 下载qt4.8.7源代码,解压到合适位置(如本文为d:\qt\4.8.7) 2 设置环境变量: set QMAKESPECwin32-msvc2010set QTDIRd:\qt\4.8.7 3 修改配置文件: 修改\mkspecs\win32-msvc2010\qmake.conf将QMAKE_CFLAGS_RELEASE的O2改为O1 或 安装补丁http…

2022-2028年中国EBA树脂(乙烯丙烯酸丁酯)产业竞争现状及发展前景规划报告
【报告类型】产业研究 【报告价格】4500起 【出版时间】即时更新(交付时间约3个工作日) 【发布机构】智研瞻产业研究院 【报告格式】PDF版 本报告介绍了中国EBA树脂(乙烯丙烯酸丁酯)行业市场行业相关概述、中国EBA树脂&#…

JAX_WS 2.2 规范的webservices客户端实现(Axis2,Cxf)
为了对接之前老版本的接口,折腾了好几个小时. 主要是目前我的程序采用的是axis2的jax_rpc方式发布webservices服务,用这种服务的客户端,去调用老版本的jax_ws 2.2的接口,会报Runtime空指针。 于是采用cxf,使用了cxf3.0.3(当前版本) 的wsdl2ja…

idea mybatis plugin插件,免费mybatis插件
idea的mybatis插件。一直想下一个,在大批量修改一些问题时候 mapper和.xml文件查看会方便许多。 直接在idea的插件market里看经常会卡住,直接去网站看。 于是去官网查查看,网站巨慢 https://plugins.jetbrains.com/ 曾经试过mybatis plugin的…

从头开始学习Unity着色器
MP4 |视频:h264,1280720 |音频:AAC,44.1 KHz,2 Ch 语言:英语中英文字幕(根据原英文字幕机译更准确)|时长:56节课(4h 26m) |大小解压后:2.89 GB Unity Shaders和HLSL阴影语言的完整指南 你会学到: 编写Uni…

JDBC编程:2(数据库的基本操作)
数据库的基本操作 查询数据 在开始前先简单地介绍一下什么是静态SQL和动态SQL: 静态SQL,在编译阶段就可以确定数据库要做什么事情。在某种高级语言中,如果嵌入了SQL语句,而这个SQL语句的主体结构已经明确,例如在Jav…

[Asp.net 5] Options-配置文件(2)
很久之前写过一篇介绍Options的文章,2016年再打开发现很多变化。增加了新类,增加OptionMonitor相关的类。今天就对于这个现在所谓的新版本进行介绍。 老版本的传送门([Asp.net 5] Options-配置文件之后昂的配置)。 首先上一个图&a…

android-sdk-windows版本号下载
Android SDK 4.0.3 开发环境配置及执行 近期又装了一次最新版本号的ADK环境 眼下最新版是Android SDK 4.0.3 本文的插图和文本尽管是Android2.2的 步骤都是一样的,假设安装的过程中遇到什么问题,能够留言,我会尽快回复! 系统环境的…

vs code搭建Django环境
在网上找了很多博客,看了vs code的官方文档,最终拼凑起来,终于搭建起来了djangode开发虚拟环境(win10下) 一、新建项目文件夹 F:\Python\temp\django_demo(例子) 二、在项目文件夹创建虚拟pytho…