1. SQL基础查询操作运算讲解

Posted 江湖@小小白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1. SQL基础查询操作运算讲解相关的知识,希望对你有一定的参考价值。

1. 基础查询操作运算讲解

1. 去重查询:
	select distinct 列名 from 表名	
2. 加减号用法:
    加号:
    
    第一种用法
    是在 SELECT 子句中使用+号
    以执行对数据的运算并将结果显示出来;
    
    第二种用法
    是在 WHERE 子句中使用加号.
        eg:select1,2+0.5 from 表名;
        
    减号:
    
    第一种用途是作为负号使用;
        eg:select1 别名,-2 别名 from 表名;
        
    第二种用法是作为减号从某一列中减去另一列.
        eg:select1,2,(2-1) 列别名 
           from 表名;
           
3. 乘除法的用法:
        eg:select1,2,3*0.8 别名 from 表名;
        eg:select1,2,(3/2)别名 from 表名;
    取模运算(%):取模运算返回一个除数 的余数部分
        eg:select1,2,3%4 别名 from 表名;
    在一些 SQL 解释器中取模运算符为 MOD
        eg:select1,MOD(2,3) 列别名,4 from 表名;
        
4. 比较运算(=):
	eg:select1,2,3 别名 
	 from 表名 
	 where1 = "value";
	 
	select * from 
	表名 
	where 列名 = NULL;
	不建议使用,可能会查不到数据:No rows selected

	else:select * from 表名 where 列名 is NULL;
	
	SELECT * FROM 表名 WHERE 列名 > 300;
	SELECT * FROM 表名 WHERE 列名 >= 300;
	SELECT * FROM 表名 WHERE 列名 < 300;
	SELECT * FROM 表名 WHERE 列名 <= 300;
	

2. 不等于(<> or !=)


select * from where 列名 <> 'value';
select * from where 列名 != 'value';

3. 模糊查询(like)


select * from 表名 where 列名 like '%value%';
select * from 表名 where 列名 like 'value%';
select * from 表名 where 列名 like 'value_%';

4. 连接(||)


|| 可以将两个字符串连接起来
SELECT1 ||2 别名 FROM;

5. 逻辑运算

1. and:只有当两个表达式的值都为真的时候才会返回真
	select 
	name, 
	years * 12 - leaves a1 
	fromwhere name 
	like 'B%' and years * 12 - leaves > 60;
	
	select * fromwhere years >= 5 
	 and (years * 12 - leaves)/(years * 12) < 0.50; 
	 
2. or:当其中一个条件为真时,其结果为真
	select * fromwhere years >= 5 
	or (years * 12 - leaves)/(years * 12) >= 0.50; 
	
3. not:条件取反,
	条件为假时结果为真,条件为真时结果为假,当not应用于null时可以使用is.
	
	select * fromwherenot like 'B%';
	select * fromwhereis not null;
	

6. 集合运算(SET)


union:将返回两个查询的结果并去除其中重复的部分。

	select name from1 
	union select name from2;
	
union all:对表进行合并,但是不去掉重复的记录。

	select name from1 
	union all select name from2;
	
intersect(相交):返回两个表中共有的行(即两个表都存在的记录)select * from1 
	intersect select * from2;
	
minus(相减):返回的记录是存在于第一个表中但不存在于第二张表的记录。
	select * from1 
	minus select * from2;
	
(in and between)从属运算:
	SELECT * FROMWHERE STATE= 'CA' 
	OR STATE ='CO' OR STATE ='LA';
	
	另外一种写法: 
	
	SELECT * FROMWHERE STATE IN('CA','CO','LA');
	查找某一范围的记录:
	select * from price 
	where1 > 0.50 and1 < 0.75;
	
	或者使用betweenselect * from price 
	where1 between 0.25 and 0.75;
	

以上是关于1. SQL基础查询操作运算讲解的主要内容,如果未能解决你的问题,请参考以下文章

Python基础(十四):公共操作的讲解

mybatis入门基础----动态SQL

[讲解]sql except和intersect运算符(比拟两个或多个select语句的结果并前去非重复值)

数据库开发基础-SQl Server 链接查询

PL/SQL包(package)操作实例讲解

MySQL 基础 SQL -- DQL 数据查询语言(基础查询(字段别名) where条件查询(比较运算符逻辑运算符) 聚合函数分组查询 排序查询分页查询DQL语句执行顺序)