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运算符即可,如下图:

SQL基础学习总结:3(select语句基础算术运算符比较运算符)相关推荐

  1. select * from where 三个条件_VBA学习笔记70: Select语句基础

    学习资源:<Excel VBA从入门到进阶>第72集 by兰色幻想 这节课来详细讲解Select语句. Select 字段 from 表 where 条件 例:从sheet1中筛选全部数据 ...

  2. MySQL3_基础_基本的 SELECT 语句

    文章目录 基本的 SELECT 语句 1. SQL概述 1.1 SQL背景知识 1.2 SQL语言排行榜 1.3 SQL 分类 2. SQL语言的规则与规范 2.2 SQL大小写规范 (建议遵守) 2 ...

  3. 零基础学习 Python 之条件语句

    写在之前 我们写程序,就好比学生时代写作文一样,由 "字" 到 "词" 到 "句" 最后到 "文章" .此前我们学会了一 ...

  4. SQL 查询总是先执行SELECT语句吗?你们都错了!

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | infoq.cn/article/Oke8hg ...

  5. 学 android需要什么基础,学习安卓开发需要什么基础?

    学习程序开发一般都需要懂一些一定的C语言,现在大学里面和计算机相关的专业甚至理工类专业一般都会开设C语言课程.当然学习安卓程序开发除了懂C语言之外,还需要掌握一定的Java基础知识.Linux基础知识 ...

  6. mysql com_select_mysql学习一之SELECT语句

    完整语法 先给一下完整的语法,后面将逐一来讲解. 基础语法 SELECT 字段列表 FROM 数据源; 完整语法 select 去重选项 字段列表 [as 字段别名] from 数据源 [where子 ...

  7. SQL 查询总是先执行SELECT语句吗?你们都错了!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 译者:无明 链接:infoq.cn/article/Oke8hgi ...

  8. SQL 查询总是先执行SELECT语句吗?

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取近百本电子书入口 译者:无明 链接:22j.co/b8Un 很多 SQL 查 ...

  9. c语言需要哪些英语基础,学习C语言的必备基础知识(国外英语资料).doc

    学习C语言的必备基础知识(国外英语资料) 满卧裹瑟莉筑部获搪肪棱惺杀摄械圭旬敷豹休登悬邱雀报台盼拈毒鹰进怀却恩登雄旁二宇谊婆叔陌嘎扇体歌嫉蹿久题篡憨琵夹涌芦鸣褐颂诅讳拴狸果液梦绸亥氯确杯牌憨耗终贼况榔 ...

最新文章

  1. c语言学生成绩删除功能,c语言学生成绩管理系统程序设计,有添加,查找,删除,输出,修改,排序等功能!!!...
  2. 用javascript读取xml,并进行修改xml数据,解决保存没有权限问题
  3. 一个c++ 2d图形引擎 AGG
  4. 如何利用开源项目,帮助企业免费搭建小程序官网
  5. 计算机等级考试考卷试题按钮,全国计算机等级考试一级B模拟试题及答案2011.7...
  6. c打开指定路径文件_Selenium 系列篇(五):文件篇
  7. mysql为何不支持开窗函数?
  8. CSipIm断网重连崩溃原因分析
  9. web memory
  10. python绘图-新增子区域
  11. C语言 C语言知识点总结(思维导图版)
  12. SVN branch分支管理
  13. 令牌桶 java_令牌桶算法及实现(三)
  14. matlab共轭梯度法解线性方程组,计算方法——共轭梯度法求解线性方程组.pdf
  15. linux删除svn版本库
  16. 中移动Open NFV实验室迎新合作伙伴
  17. 如何用C语言画立体几何图形,立体几何图形公式大全
  18. WordPress调用自带的友情链接功能_只在首页显示
  19. signal 阻塞与屏蔽
  20. 【微信】微信小程序前后端数据请求示例

热门文章

  1. C++中stl使用过程中的一些tips
  2. 从BloomFilter到Counter BloomFilter
  3. Linux命令之more
  4. 【php】 PHP 支持 9 种原始数据类型
  5. 接口测试(postman jmeter)
  6. jemeter监听器的使用
  7. day 2 基本类型和函数
  8. Windows搭建以太坊的私有链环境
  9. HTML 基础知识(特殊字符的转义)
  10. 昨天网上感觉好冷,睡在席子上都是感觉打哈欠