【SQL基础-2】SQL常用运算符及通配符
目录
- 1 常用运算符
- 1.1 比较运算符
- 1.2 BETWEEN范围运算符
- 1.2.1 当范围为日期时
- 1.2.2 当范围为字符时
- 1.3 IN列举运算符
- 1.4 NOT & AND & OR 逻辑运算符
- 1.5 EXISTS 运算符
- 1.6 UNION 操作符
- 1.7 NULL空值运算符
- 1.8 LIKE 模糊匹配值操作符
- 2 常用通配符
- 3 常用参数
- 4 归纳
- 参考文章
本文主要对SQL数据库需要掌握的常见运算符、通配符和常用参数进行介绍,文中附有多个示例的网址链接,有需要的读者可以点进链接查看详细实例应用。
1 常用运算符
1.1 比较运算符
运算符 | 描述 |
---|---|
= | 等于 |
<> | 不等于。注释:在 SQL 的一些版本中,该操作符可被写成 != |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
1.2 BETWEEN范围运算符
对于范围运算符需要特别注意的是是否包括边界的问题,对于不同数据库可能存在差异,建议在不熟悉时先创建例子试验其结果。对于SQL Server 中 between 的语句及边界问题如下:
语句 | 功能 | 边界问题 |
---|---|---|
between… and | 选取介于两个值之间的数据范围内的值 | 包含边界 |
not between… and | 选取处于两个值之外的数据范围内的值 | 不含边界 |
例子:
其他更多实例应用请参考网址:《SQL BETWEEN 操作符》
1.2.1 当范围为日期时
当范围运算符应用于选取特定日期时,其是否包含终点日期需要根据具体数据库而定。有的数据库默认时刻为00:00:00,对于这一类数据库按以下例子,是选取5月10号凌晨0点到5月14号凌晨0点之间的时段,即使between语句包含边界,也不能包含终点日期。
SELECT * FROM access_log
WHERE date BETWEEN '2016-05-10' AND '2016-05-14';
1.2.2 当范围为字符时
当范围运算符应用于选取字符时,表示的是选取开头字符符合条件的字符串。下面的 SQL 语句选取 name 以介于 ‘A’ 和 ‘H’ 之间字母开始的所有网站:
SELECT * FROM Websites
WHERE name BETWEEN 'A' AND 'H';
1.3 IN列举运算符
功能:列举运算符 in 允许在 WHERE 子句中规定多个匹配值,not in 则相反。
语法:语法如下,注意如果value是字符串时需要加单引号。
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...);
例子:
1.4 NOT & AND & OR 逻辑运算符
逻辑运算符主要是“与”、“或”、“非”三个,分别对应运算符为and、or、not,这三个运算符的优先级是not > and > or。
灵活应用三个逻辑运算符配合圆括号可以构成复制的条件表达式。
例子:
1.5 EXISTS 运算符
功能:EXISTS 运算符用于判断查询子句是否有记录,如果有一条或多条记录存在返回 True,否则返回 False。
语法:语法如下。
SELECT column_name(s)
FROM table_name
WHERE EXISTS
(SELECT column_name FROM table_name WHERE condition);
例子:
更多具体实例查看《SQL EXISTS 运算符》
1.6 UNION 操作符
功能:UNION 操作符用于合并两个或多个 SELECT 语句的结果集。请注意,UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同。
UNION语法:UNION 和 UNION ALL 的使用语法如下
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;
注释,默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。*/
SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;
注释,UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。*/
例子:
更多具体实例参考《SQL UNION 操作符》
1.7 NULL空值运算符
功能:NULL 值代表遗漏的未知数据。默认地,表的列可以存放 NULL 值。
注意:无法使用比较运算符来测试 NULL 值,比如 =、< 或 <>,必须使用 IS NULL 和 IS NOT NULL 操作符。
语法:语法如下了。
SELECT column_name1,column_name2,column_name3,... FROM table_name
WHERE column_name IS NULL
例子:
更多具体实例参考《SQL NULL 值》
1.8 LIKE 模糊匹配值操作符
功能:LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。使用 NOT LIKE 表示排除指定模式。
语法:语法如下.
SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern;
例子:
注释:"%" 符号用于在模式的前后定义通配符(默认字母)。您将在第2节中学习更多有关通配符的知识。
更多具体实例请参考《SQL LIKE 操作符》
2 常用通配符
功能:通配符可用于替代字符串中的任何其他字符。
应用场合:在 SQL 中,通配符与 SQL LIKE 操作符一起使用。
类型及功能:
通配符 | 描述 |
---|---|
% | 替代 0 个或多个字符 |
_ | 替代一个字符 |
[charlist] | 字符列中的任何单一字符 |
[^charlist]或[!charlist] | 不在字符列中的任何单一字符 |
例子:
更多具体应用示例请查看《SQL 通配符》
3 常用参数
参数 | 功能 |
---|---|
version() | 返回当前数据库软件版本 |
database() | 返回当前数据库名 |
user() | 返回用户名 |
current_user() | 返回当前用户名 |
system_user() | 返回系统用户名 |
@@datarir | 返回数据库路径 |
@@version_compile_os | 返回操作系统版本 |
4 归纳
(1)熟练使用各种运算符;
(2)熟练将各种通配符与like模糊匹配条件结合使用;
(3)熟练掌握常用参数。
参考文章
[1] 《SQL 教程》
[2] 《SQLzoo练习平台》
[3] 《【SQL基础】SQL常用运算符、通配符及参数》
【SQL基础-2】SQL常用运算符及通配符相关推荐
- SQL Server调优系列基础篇(常用运算符总结)
原文:SQL Server调优系列基础篇(常用运算符总结) 前言 上一篇我们介绍了如何查看查询计划,本篇将介绍在我们查看的查询计划时的分析技巧,以及几种我们常用的运算符优化技巧,同样侧重基础知识的掌握 ...
- java sql 基础_Java SQL基础
SQL基础 1.DataBase 创建:CREATE DATABASE DATABASE_NAME ; 使用:USE DATABASE_NAME ; 删除:DROP DATABASE DATABASE ...
- 学习Sql基础以及Sql的部分语法(语法部分为3w中copy)
第一章 .net与c# .NET是Microsoft.NET的简称,包含了能在.NET Framework平台运行的所有编程语言. C# 是专门为.NET平台设计的一种语言. c#第一个成绩 (1)使 ...
- SQL 基础篇 SQL 16 查找GPA最高值
SQL基础篇(汇总)刷题传送门 题目链接 题面 样例输入 drop table if exists user_profile; CREATE TABLE `user_profile` ( `id` i ...
- 【SQL基础】SQL常用函数简要解析
目录 1 字符串截取 1.1 left() 1.2 right() 1.3 mid() 2 字符串连接 2.1 concat() 2.2 concat_ws() 2.3 group_concat() ...
- (大数据工程师学习路径)第四步 SQL基础课程----SQL介绍及mysql的安装
一.数据库和SQL介绍 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它的产生距今已有六十多年.随着信息技术和市场的发展,数据库变得无处不在:它在电子商务.银行系统等众多领域都 ...
- SQL Server调优系列基础篇(联合运算符总结)
前言 上两篇文章我们介绍了查看查询计划的方式,以及一些常用的连接运算符的优化技巧,本篇我们总结联合运算符的使用方式和优化技巧. 废话少说,直接进入本篇的主题. 技术准备 基于SQL Server200 ...
- 【SQL基础-3】SQL常用函数
目录 1 字符串函数 1.1 字符串截取 1.1.1 left() 1.1.2 right() 1.1.3 mid()/substring()/substr() 1.2 字符串连接 1.2.1 con ...
- SQL基础-- 数据处理(DML、RETURNING、MERGE INTO)
--================================================= --SQL基础--> 数据处理(DML.RETURNING.MERGE INTO) --= ...
最新文章
- 一些或许用的到的小Demo
- 利用redis漏洞远程添加计划任务挖取比特币
- 杰尼亚签约第四范式 开启奢侈品行业智慧零售新思路
- mockito mock void方法_Spock如何模拟抽象类方法
- android jni与java之间数据传输时怎么转换
- pro* c调用存储过程 linux,Pro*C调用存储过程,存储过程名称如何传递? 高分求高手指点。。。...
- 自定义Flume Sink:ElasticSearch Sink
- Echarts常用配置参数
- Atitit bootsAtitit bootstrap布局 栅格.docx 目录 1. 简述container与container-fluid的区别	1 1.1.1. 在bootstrap中的布局
- 服务器Java环境配置
- sql 去掉重复的数据
- ArcGIS Model批量矢量裁剪矢量
- 百度 95 后程序员删库跑路被判刑
- 半年以来的图像去雾总结-图像去雾(一)暗通道去雾
- 目标定位和检测系列中IOU的含义
- (送票)2020广州敏捷之旅暨第11届广州DevOps社区Meetup火热报名中!
- 多传感器融合定位(一)——3D激光里程计
- 代码随想录训练营day2
- 计算机汉字字模信息怎么算,汉字字模库字模.PPT
- 关闭不需要服务 为Windows系统提速(转)
热门文章
- 腾讯云运维工程师认证TCA--真题(最新2022.12)
- java字符串替换最后一个字符,详细解说
- 技术成就梦想,51CTO让我飞翔【我与51CTO的故事】
- Jmeter参数化 之 CVS参数配置
- HCIE-Cloud Computing LAB备考第二步:逐题攻破--第二题:FusionAccess--题目分析--思维导图+题目=建立逻辑
- python画图(散点图,折线图)
- Idea快速选中一行的四种方式
- [含课设报告+源码等]基于JSP实现的飞机票售票管理系统[包运行成功]
- 文本处理之awk高级进阶
- deepin部署nginx步骤