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

必知必会PartOne---SQL基础之二

PartOne—SQL基础之二目录数据过滤1.数据过滤2.通配符过滤计算字段与函数1.创建计算字段2.数据处理函数3.汇总函数

PartOne—SQL基础之二

目录

数据过滤

1. 数据过滤

2. 通配符过滤

计算字段与函数

1. 创建计算字段

2. 数据处理函数

3. 汇总函数


正文

数据过滤

1. 数据过滤

关键字:WHERE
  • 在WHERE子句中可以使用操作符,例如:= , > , <, >= , != ,BETWEEN , IS NULL 等。
    例子:
SELECT student_name , age FROM student WHERE age >= 18 ;

SELECT student_name , age FROM student WHERE age BETWEEN 18 AND 20 ;
  • 同时在WHERE子句中可以使用组合,称为组合WHERE子句,以及其他操作符。例如AND , OR , IN ,NOT
SELECT student_name , age FROM student WHERE student_name IN ('long' , 'xin') ;

SELECT student_name , age FROM student WHERE age = 18 AND student_name = 'long' ;

SELECT student_name , age FROM student WHERE age = 18 OR age = 19 ; 

SELECT student_name , age FROM student WHERE NOT student_name = 'long' BODER BY age ;

2. 通配符过滤

  • 通配符:用来匹配值的一部分的特殊字符 关键字: LIKE
    1 . 百分号 % :表示任何字符出现任意次数
SELECT prod_id , prod_name FROM products WHERE prod_name LIKE 'long%' ; 

SELECT prod_id , prod_name FROM products WHERE prod_name LIKE '%long%' ; 

2 . 下划线 _ :表示任何字符,但是只匹配单个字符

SELECT prod_id , prod_name FROM products WHERE prod_name LIKE '%long __' ; --表示匹配两个字符注意长度

SELECT prod_id , prod_name FROM products WHERE prod_name LIKE '%long _' ; --表示匹配一个字符注意长度

3 . 方括号 [ ] : 用来制定一个字符集,它必须匹配指定位置的一个字符

SELECT student_name FROM student WHERE student_name LIKE '[lx]%' ; --匹配以 l 和 x 开头的名字
  • 不要过度的使用通配符。如果其他操作符可以达到相同的目的,应该使用其他操作符。
  • 在确实需要使用通配符时,尽量不要将其放到字符串的开始处,因为这样做的检索速度最慢。
  • 仔细注意通配符的位置。

计算字段与函数

1. 创建计算字段

  • 计算字段:存储在表中的数据都不是应用程序所需要的,我们需要直接从数据库中检索出转换、计算或格式化过的数据。
  • 拼接字段:将值联结到一起,构成单个值。此操作符可用 + 或 两个竖杠 || 表示。(MySQL 和 MariaDB 中 ,必须使用特殊的函数。
SELECT vend_name + '(' + vend_country + ')' FROM vendors ORDER BY vend_name;

SELECT vend_name || '(' || vend_country || ')' FROM vendors ORDER BY vend_name;

--MySQL 或 MariaDB 
SELECT Concat( vend_name , '(' , vend_country , ')' ) FROM vendors ORDER BY vend_name;

TRIM 函数:RTRIM()去掉右边的空格 , LTRIM()去掉左边的空格。TRIM()去掉左右两边的空格。

SELECT RTRIM(vend_name) + '(' + RTRIM(vend_country) + ')' AS vend_title FROM vendors ORDER BY vend_name ;  --AS 使用的是别名。
  • 执行算术字段:运用基本的算术原则(加减乘除)
SELECT prod_id , quantity , item_price ,quantity*item_price AS expanded_price FROM orderitems WHERE order_num = 2008;

2. 数据处理函数

    1. 文本处理函数

常用的文本处理函数

函数 说明
LEFT() 返回字符串左边的字符
LENGTH() 返回字符串长度
LOWER() 将字符串转换为小写
LTRIM() 去掉字符串左边的空格
RIGHT() 返回字符串右边的字符
RTRIM() 去掉字符串右边的空格
SOUNDEX() 返回字符串的SOUNDEX值( 模糊匹配 )
UPPER() 将字符串转换为大写
SELECT vend_name ,UPPER(vend_name) AS vend_name_upcase FROM vendors ORDER BY vend_name ;
  • 2 . 日期和时间处理函数:每种数据库的获取时间的函数都各有不同这里只举例Oracle 和 MySQL
--Oracle
SELECT order_num FROM orders WHERE to_number(to_char(order_date , 'YYYY')) = 2012 ;
--MySQL 
SELECT order_num FROM orders WHERE YEAR(order_date) = 2012 ;
  • 3 . 数值处理函数

常用的数值处理函数

函数 说明
ABS() 返回一个数的绝对值
COS() 返回一个角度的余弦
SIN() 返回一个角度的正弦
PI() 返回圆周率
EXP() 返回一个数的指数
SQRT() 返回一个数的平方根
TAN() 返回一个角度的正切

3. 汇总函数

SQL聚集函数

函数 说明
AVG() 返回某列的平均值
COUNT() 返回某列的行数
MAX() 返回某列的最大值
MIN() 返回某列的最小值
SUM() 返回某列值之和

推荐阅读
  • 本文介绍了Oracle存储过程的基本语法和写法示例,同时还介绍了已命名的系统异常的产生原因。 ... [详细]
  • 从Oracle安全移植到国产达梦数据库的DBA实践与攻略
    随着我国对信息安全和自主可控技术的重视,国产数据库在党政机关、军队和大型央企等行业中得到了快速应用。本文介绍了如何降低从Oracle到国产达梦数据库的技术门槛,保障用户现有业务系统投资。具体包括分析待移植系统、确定移植对象、数据迁移、PL/SQL移植、校验移植结果以及应用系统的测试和优化等步骤。同时提供了移植攻略,包括待移植系统分析和准备移植环境的方法。通过本文的实践与攻略,DBA可以更好地完成Oracle安全移植到国产达梦数据库的工作。 ... [详细]
  • 如何利用 Myflash 解析 binlog ?
    本文主要介绍了对Myflash的测试,从准备测试环境到利用Myflash解析binl ... [详细]
  • MySQL多表数据库操作方法及子查询详解
    本文详细介绍了MySQL数据库的多表操作方法,包括增删改和单表查询,同时还解释了子查询的概念和用法。文章通过示例和步骤说明了如何进行数据的插入、删除和更新操作,以及如何执行单表查询和使用聚合函数进行统计。对于需要对MySQL数据库进行操作的读者来说,本文是一个非常实用的参考资料。 ... [详细]
  • shell脚本实战 pdf_Shell 脚本操作数据库实战
    安装mariadb数据库(默认没有密码,直接mysql即可进入数据库管理控制台)yuminstallmariadbmariadb-serv ... [详细]
  • 数据库进入全新时代,腾讯云发布五大数据库提前布局
    8月28日,腾讯云数据库在京正式启动战略升级,宣布未来将聚焦云原生、自治、超融合三大战略方向,以用户为中心,联接未来。并在现场面向全球用户同步发布五大战略级新品,包括数据库智能管家 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • Python SQLAlchemy库的使用方法详解
    本文详细介绍了Python中使用SQLAlchemy库的方法。首先对SQLAlchemy进行了简介,包括其定义、适用的数据库类型等。然后讨论了SQLAlchemy提供的两种主要使用模式,即SQL表达式语言和ORM。针对不同的需求,给出了选择哪种模式的建议。最后,介绍了连接数据库的方法,包括创建SQLAlchemy引擎和执行SQL语句的接口。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 在Oracle11g以前版本中的的DataGuard物理备用数据库,可以以只读的方式打开数据库,但此时MediaRecovery利用日志进行数据同步的过 ... [详细]
  • MySQL中的MVVC多版本并发控制机制的应用及实现
    本文介绍了MySQL中MVCC的应用及实现机制。MVCC是一种提高并发性能的技术,通过对事务内读取的内存进行处理,避免写操作堵塞读操作的并发问题。与其他数据库系统的MVCC实现机制不尽相同,MySQL的MVCC是在undolog中实现的。通过undolog可以找回数据的历史版本,提供给用户读取或在回滚时覆盖数据页上的数据。MySQL的大多数事务型存储引擎都实现了MVCC,但各自的实现机制有所不同。 ... [详细]
  • 本文介绍了关系型数据库和NoSQL数据库的概念和特点,列举了主流的关系型数据库和NoSQL数据库,同时描述了它们在新闻、电商抢购信息和微博热点信息等场景中的应用。此外,还提供了MySQL配置文件的相关内容。 ... [详细]
  • 【BUUCTF】[极客大挑战 2019]LoveSQL 详细题解总结笔记 Writeup
    【BUUCTF】[极客大挑战2019]LoveSQL一.SQL注入考点二.解题过程0.存在SQL注入1.万能密码adminor112.爆字段3.看回显4.爆数据库5.爆数据库的表6 ... [详细]
  • MFC程序连接MySQL成功实现查询功能,但无法实现修改操作——详解查询语句在MySQL中的使用过程
    selectxxx,xxx,xxxfromxxxwherexxxxxx,xxxxxx程序的日常开发中,我们经常会写到各种各样的简单的,复杂的查询sql语 ... [详细]
  • Linux环境中使用Mysql数据库
    Linux下Mysql数据库MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQLAB公司,目前属于Oracle公司,MySQL被广泛地应用在I ... [详细]
author-avatar
sprout--_557
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有