网站首页 > 技术文章 正文
【本文详细介绍了数据库的基础知识之SQL常见表达式,欢迎读者朋友们阅读、转发和收藏!】
1 基本概念
一般指由常量、变量、函数和运算符组成的式子为表达式,应特别注意的是单个常量、变量或函数亦可称作表达式。
SQL 语言中包括三种表达式, 第一种是 < 表名 > 后跟的 < 字段名表达式 > ,第二种是 SELECT 语句后的 < 目标表达式 > ,第三种是 WHERE 语句后的 < 条件表达式 > 。
1 .字段名表达式
< 字段名表达式 > 可以是单一的字段名或几个字段的组合,还可以是由字段、作用于字段的集函数和常量的任意算术运算( + 、—、 * , / )组成的运算公式。主要包括数值表达式、字符表达式、逻辑表达式、日期表达式四种。
例如: 1+2 , 1000*1000*1000 等为数值表达式
2 .目标表达式
< 目标表达式 > 有 4 种构成方式:
( 1 ) * ,表示选择相应基表和视图的所有字段。
( 2 ) < 表名 >.* ,表示选择指定的基表和视图的所有字段。
( 3 )集函数(),表示在相应的表中按集函数操作和运算。
( 4 ) [< 表名 >.]< 字段名表达式 >[ , [< 表名 >.]< 字段名表达式 >] …,表示按字段名表达式在多个指定的表中选择。
例如:
Select id,bytes*8/60 from datahouse.tbl_datahouse
Select max(tbl_datahouse.data_addr), min(tbl_datahouse.data_addr), count(tbl_datahouse.data_addr) from datahouse.tbl_datahouse
3 .条件表达式
< 条件表达式 > 常用的有以下六种:
( 1 )比较大小
应用比较运算符构成表达式,主要的比较运算符有: = , > , < , >= , <= , != , <> , !> (不太于), !< (不小于), NOT+ (与比较运算符同用,对条件求非)。
例如: select * from datahouse.tbl_datahouse where id<100
( 2 )指定范围
BETWEEN … AND … , NOT BETWEEN … AND …
查找字段值在(或不在)指定范围内的记录。 BETWEEN 后是范围的下限(即低值), AND 后是范围的上限(即高值)。
例如: select * from datahouse.tbl_datahouse where data_ADDR between 1962999809 and 1962999823
( 3 )集合
IN …, NOT IN …
查找字段值属于(或不属于)指定集合内的记录。
例如: select * from datahouse.tbl_datahouse where data_ADDR IN (1962999810, 1962999818)
( 4 )字符匹配
LIKE , NOT LIKE ’ < 匹配串 > ’ [ESCAPE ’ < 换码字符 > ’ ]
查找指定的字段值与 < 匹配串 > 相匹配的记录。 < 匹配串 > 可以是一个完整的字符串,也可以含有通配符 _ 和 % 。其中 _ 代表任意单个字符; % 代表任意长度的字符串。
例如: select * from datahouse.tbl_datahouse where data_pub_addr like '%117.%'
( 5 )空值
IS NULL , IS NOT NULL
查找字段值为空(或不为空)的记录。 NULL 不能用来表示无形值、缺省值、不可用值,以及取最低值或取最高值。 SQL 规定,在含有运算符 + 、 - 、 * 、 / 的算术表达式中,若有一个值是空值,则该算术表达式的值也是空值;任何一个含有 NULL 比较操作结果的取值都为“假”。
例如: select * from datahouse.tbl_datahouse where data_id is null
( 6 )多重条件
AND , OR
AND 含义为查找字段值满足所有与 AND 相连的查询条件的记录; OR 含义为查找字段值满足查询条件之一的记录。 AND 的优先级高于 OR ,但可通过括号改变优先级。
例如: select * from datahouse.tbl_datahouse where tenantid like '%DataHouse%' and data_pub_addr not like '%180.%'
猜你喜欢
- 2024-09-27 20240926(20240926农历是)
- 2024-09-27 技术小障,情谊长存:致师友们的致歉与感激信
- 2024-09-27 玩转微信应用号,「小程序」开发实操指南第六弹
- 2024-09-27 分布式id生成器&分布式锁介绍
- 2024-09-27 基于PostgreSQL的分布式数据库—Citus
- 2024-09-27 分布式id生成器:推特「雪花算法」最优解
- 2024-09-27 如何在公众号消息发送小程序,不用第三方!
- 2024-09-27 JS获取和设置元素的属性以及属性值
- 2024-09-27 yyui(y与I)
- 2024-09-27 发那科 FANUC OIC (OI MATE TC OITC OI MATE MC OI MC)系统报警
- 1510℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 541℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 497℃MySQL service启动脚本浅析(r12笔记第59天)
- 477℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 475℃启用MySQL查询缓存(mysql8.0查询缓存)
- 455℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 434℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 432℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- c语言min函数头文件 (68)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)