SQL_3_表达式、条件语句与运算

加号的两种用法:
1.在SELECT子句中使用+号以执行对数据的运算并将结果显示出来。
SELECT ITEM WHOLESALE WHOLESALE+0.15 FROM PRICE;

还可以重命名新增的列

2.在WHERE子句中使用加号,在WHERE子句中使用操作符可以在当你对数据有特定条件时具有更大的灵活性
减号也同样有两种用途
1.第一种作为负号使用

SELECT STATE -HIGHTEMP LOWS, -LOWTEMP HIGHS FROM HILOW;

2.作为减号,从某一列中减去另一列
SELECT STATE,HIGHTEMP LOWS,LOWTEMP HIGHS,(LOWTEMP-HIGHTEMP) DIFFERENCE FROM HILOW;

在数据库领域内NULL的意义就是在一个字段中没有数据,这与字段为零或者为空不是同一个概念,零和空是一种特殊的数值,而NULL则表示啥也没有。如果你想进行Field=9的比较而Field字段是空的,那么比较的结果就会返回Unknow。由于Unknow是一种不正常的状态,所以大多数SQL都会置其为无效并提供一种叫IS NULL的操作来测试Null的存在。
!=和<>都表示不等于
LIKE: 模糊匹配,且对大小写敏感,正如当初所说的涉及到数据时总是大小写敏感的。

SELECT * FROM PARTS WHERE LOCATION LIKE '%BACK%';

当查找在某一特定位置上有字符的数据时,可以使用通配符_下划线。
查找以A开头的:SELECT * FROM PARTS WHERE LOCATION LIKE 'A_';
查找第二个字母为L的记录:SELECT * FROM PARTS WHERE LOCATION LIKE '_L%';


SELECT LASTNAME || ',' || FIRSTNAME NAME FROM FRIENDS;

逻辑运算

找出B开头的员工,且休假时间超过了50天的员工:
SELECT LASTNAME,YEARS*12-LEAVETABKEN REMAINING FROM VACATION WHERE LASTNAME LIKE 'B%' AND YEARS*12-LEAVETABKEN >50;

OR:或者
NOT:取反。SELECT * FROM PARTS WHERE LOCATION NOT LIKE '_L%';
SELECT * FROM PRICE WHERE WHOLESALE IS NOT NULL;
集合操作:
两个执勤人员表FOOTBALL和SOFTBALL:


UNION: 将返回两个查询的结果并去除其中的重复部分。
查看 表中有哪些不重复的人员:SELECT NAME FORM FOOOTBALL UNION SELECT NAME FROM SOFTBALL;
查看表中共有多少人,包括重复的:SELECT NAME FORM FOOOTBALL UNION ALL SELECT NAME FROM SOFTBALL;
INTERSECT(相交):返回两个表中共有的行。
查看两个表中都存在的人员:SELECT * FROM FOOTBALL INTERSECT SELECT * FROM SOFTBALL;
MINUS(相减):返回存在于第一个表中但不存在于第二个表中的记录。
查看不在垒球中的足球队员:SELECT * FROM FOOTBALL MINUS SELECT * FROM FOOTBALL;
IN:从属运算
查找在CO,CA,LA城市的朋友:SELECT * FROM FRIENDS WHERE STATE='CO' OR STATE='CA' OR STATE='LA';
等价于:SELECT * FROM FRIENDS WHERE STATE IN ('CO','CA','LA');
BETWEEN:从属运算
查找价格在0.25和0.75之间的记录:SELECT * FROM PRICE WHERE WHOLESALE>0.25 AND WHOLESALE<0.75;
等价于:SELECT * FROM PRICE WHERE WHOLESALE BETWEEN 0.25 AND 0.75
仍然是无问题不进步:
根据下表FRIENDS回答问题:

1.写一下查询返回数据库中所有名字以M 开头的每一个人。
SELECT * FROM FRIENDS WHERE LASTNAME LIKE "M%";
2.写一个查询返回数据库ST 为LA 且FIRSTNAME 以AL 开头的人。
SELECT * FROM FRIENDS WHERE ST="LA" AND FIRSTNAME="AL%";
3.给你两个表PART1 和PART2 你如何才能找出两个表中的共有元素请写出查询。
SELECT * FROM PART1 INTERSECT SELECT * FROM PART2;
4.WHERE a >= 10 AND a <=30 的更便捷写法是什么请写出来?
WHERE BETWEEN 10 AND 30
注意::不同的数据库对 BETWEEN...AND 操作符的处理方式是有差异的。至于包括不包括两头的值,还需要查询自己的数据库。
SQL_3_表达式、条件语句与运算的更多相关文章
- 不可或缺 Windows Native (3) - C 语言: 运算符,表达式,条件语句,循环语句,转向语句,空语句等
[源码下载] 不可或缺 Windows Native (3) - C 语言: 运算符,表达式,条件语句,循环语句,转向语句,空语句等 作者:webabcd 介绍不可或缺 Windows Native ...
- php简写表达式,&& or || 缩写条件语句
有时候学的多了, 好多小细节 都忘了 ,比如 简单的表达式, 三元表达式 ?:; $aa or $bb 表达式 等等! 写一些简单的表达式,备忘! php用&&和||缩写条件语句 ...
- var、符号运算、条件语句、三元(目)运算、自加和自减
1.var a=“hello world” a 这个变量是字符串了,对于里面的每一个字母来说,他是字节,里面有11个字节,(包括空格),字节总数用length表示 2.符号运算 + 字符串拼接 . ...
- 【C】 04 - 表达式和语句
程序的生命力体现在它千变万化的行为,而再复杂的系统都是由最基本的语句组成的.C语句形式简单自由,但功能强大.从规范的角度学习C语法,一切显得简单而透彻,无需困扰于各种奇怪的语法. 1. 表达式(exp ...
- python函数,lambda表达式,三目运算,列表解析,递归
一.自定义函数 定义函数时,函数体不执行:只有在调用函数时,函数体才执行.函数的结构: 1. def 2. 函数名 3. 函数体 def func_name(): 函数体 4. 返回值 如果没有声明返 ...
- 【C语言】07-基本语句和运算
一.基本语句 C语言的基本语句跟Java中的差不多,所以,这里只是简单地提一下 循环语句(do while.while.for) 条件语句(if .if-else.switch) goto语句 二.基 ...
- if条件语句
第四天 XMind 思维导图复习之前知识 数据类型-变量常量-运算符(表达式)-语句(顺序.分支.循环)-数组-函数 1.if语句格式 if(表达式) { 语句 } 注意: 1.如果,表达式成立,只执 ...
- Python成长之路第一篇(4)_if,for,while条件语句
有了以上的基本基础,已经上面写的几个小练习,大家肯定有很多的不满,比如查询为什么查询一次就退出了呢?下面我们来学习条件语句 一.万恶的加号 以前我们在print的时候如果要加上变量都有是使用+来作为连 ...
- 小猪猪C++笔记基础篇(五)表达式、语句
小猪猪C++笔记基础篇(五) 关键词:表达式.语句 本章的内容比较简单,基本上没有什么理解上的困难,都是知识上的问题.先开始想要不要写呢,本来是不准备写的,但是既然读了书就要做笔记,还是写一写,毕竟还 ...
随机推荐
- 基于CDH5.7.x Kylin部署
配置目标文件为 /etc/profile #Kylin exportKYLIN_HOME=/opt/apache-kylin-1.5.4-cdh5.7-bin #Hadoop export HBASE ...
- ruby Iconv.iconv编码方法
#定义一个UTF-8=>GBK的方法def encoding inStr Iconv.iconv("GBK","UTF-8",inStr)end#定 ...
- IQueryable和IEnumerable的区别
- ubuntu 14.04 安装minidwep-gtk
一,安装相关的依赖 sudo apt-get install build-essential libssl-dev iw libpcap-dev sqlite3 libsqlite3-dev libp ...
- check设置默认值但刷新后就会清空
关于check设置默认值但刷新后就会清空的问题 可能是由于浏览器的问题 我这边就直接在ComponentDidMount里面加jq使得该radio的状态为选中,后边还发现一个问题就是在点击的时候多次点 ...
- Appium基础五:appium相关API
1.获取信息类: 1.1 获取当前界面的组件: driver.currentActivity(); //获取当前界面的activity,可用于断言是否跳转到预期的activity 1.2 获取当前页面 ...
- Appium基础一:Appium概念
1.Appium介绍: Appium是一款开源跨平台(IOS和Android平台)支持多种开发语言(java.python等)进行测试Native/Web/Hybrid的Android/iOS App ...
- git remote add 用法
前一阵子,对于git remote add 的内容一直调错,现在明确一下: 这里是gitStack的用法:git remote add gitServerName http://ip/name(这里没 ...
- Windows及Linux环境搭建Redis集群
一.Windows环境搭建Redis集群 参考资料:Windows 环境搭建Redis集群 二.Linux环境搭建Redis集群 参考资料:Redis Cluster的搭建与部署,实现redis的分布 ...
- UWP开发:应用设置存储
应用设置储存指的是保存在应用程序储存区中的键/值对的字典集合,它自动负责序列化对象,并将其保存在应用程序里.以键/值对方式提供一种快速数据访问的方式,主要用于储存一些应用信息. 1,简介 应用设置是W ...