SQL语句基础知识
1、关于SQL语句中exists与not exists的问题
course表如下:
课程代号 课程名称
K01 奥运会主题曲
K02 喜爱的专辑
K03 VB技术大全
K04 经典歌曲
K05 个人单曲
K06 数据结构
K07 最受欢迎的歌曲
grade表如下:
学号 课程代号
B003 k03
B005 K02
B003 K05
B004 K04
B002 K02
B001 K01
B001 K06
现用SQL语句(1)查询:
select * from course where not exists(select * from grade where grade.课程代号=course.课程代号)
得到结果为:
K07 最受欢迎的歌曲
EXISTS或者NOT EXISTS是把主查询的字段传到后边的查询中作为条件,返回值是TRUE或者FALSE。EXISTS TRUE,那么就是查询条件成立,结果会显示出来。
NOT EXISTS TRUE,则为FALSE,查询连接条件不成立。
select * from course where not exists(select * from grade where grade.课程代号=course.课程代号)
这个语句,是查询course表中课程代号在grade中没有出现的数据。
看看grade表,课程编号有K01到K06,而COURSE表,有K01到K07,那么K07在GRADE表是不存在的,那么,是符合条件的。
同样select * from course where exists(select * from grade where grade.课程代号=course.课程代号)
则是查询COURSE的记录条件为编号在GRADE中存在。那么很明显,结果是K01到K06的数据。
另外,EXISTS和NOT EXISTS的作用可以用IN或NOT IN实现,但是,效率要高。
2、关于SQL语句中select 1 from table
select 1 from 中的1是一常量(可以为任意数值),查到的所有行的值都是它,每行的列值是写在select后的数,这条sql语句中是1
3、关于SQL语句中as的作用
as的作用是取别名,如: SELECT * FROM Employee AS emp
这句意思是查找所有Employee 表里面的数据,并把Employee表格命名为 emp。
当你命名一个表之后,你可以在下面用 emp 代替 Employee.
4、关于SQL语句中nvl函数
select sum(nvl(APS.PayPrincipalAmt,0) from ACCT_PAYMENT_SCHEDULE APS
nvl(APS.PayPrincipalAmt,0)这个函数表示当APS.PayPrincipalAmt为空时默认值显示为0
5、关于SQL语句中distinct的用法
在表中,可能会包含重复值,关键词 distinct用于返回唯一不同的值,distinct必须放在开头
a表如下:
id name
1 a
2 b
3 c
4 d
5 a
6 e
7 c
b表如下:
xing ming
sta man
stam an
1)作用于单列
select distinct name from a;
查出的结果是
a
b
c
d
e
2)作用于双列
select distinct xing, ming from b;
sta man
stam an
6、关于SQL语句中concat的用法
concat() 的语法:
concat(字串1, 字串2, 字串3, ...): 将字串1、字串2、字串3,等字串连在一起
Oracle的concat()只允许两个参数,在Oracle中,我们可以用'||'来一次串连多个字串
b表如下:
xing ming
sta man
east _esf
select concat (xing,ming) from b where xing='east';
结果:
east_esf
Oracle数据库中:
select xing || '' || ming from b where xing='east';
结果:
east_esf
SQL语句基础知识的更多相关文章
- SQL server基础知识(表操作、数据约束、多表链接查询)
SQL server基础知识 一.基础知识 (1).存储结构:数据库->表->数据 (2).管理数据库 增加:create database 数据库名称 删除:drop database ...
- Sql Server 基础知识
Sql Server 基础知识: http://blog.csdn.net/t6786780/article/details/4525652 Sql Server 语句大全: http://www.c ...
- SQL数据库基础知识-巩固篇<一>
SQL数据库基础知识-巩固篇<一>... =============== 首先展示两款我个人很喜欢的数据库-专用于平时个人SQL技术的练习<特点:体积小,好安装和好卸载,功能完全够用 ...
- SQL语句之 知识补充
SQL语句之 知识补充 一.存储过程 运用SQL语句,写出一个像函数的模块,这就是存储过程. 需求: 编写存储过程,查询所有员工 -- 创建存储过程(必须要指定结束符号) -- 定义结束符号 DELI ...
- Sqli-labs之sql注入基础知识
(1)注入的分类 基于从服务器接收到的响应 ▲基于错误的SQL注入 ▲联合查询的类型 ▲堆查询注射 ▲SQL盲注 •基于布尔SQL盲注 •基于时间的SQL盲注 •基于报错的SQL盲注 基于如何处理输 ...
- 【SQL】- 基础知识梳理(二) - SQL简介
一.引言 在梳理这些知识之前,说实话,如果有人问我SQL是什么?我可能会回答就是“INSERT,DELETE,UPDATE,SELECT”语句呗,还能是啥. 二.SQL概念 SQL是什么? SQL是S ...
- SQL语句基础之 单表查找
Sql语句之 单表查询 一.一般查询 1.查看表中的所有记录 以及 所有字段(属性) 语句 : select * from student; 2.只查看某些字段 语句:select sname,sex ...
- 精妙SQL语句 基础
精妙SQL语句SQL语句先前写的时候,很容易把一些特殊的用法忘记,我特此整理了一下SQL语句操作,方便自己写SQL时方便一点,想贴上来,一起看看,同时希望大家能共同多多提意见,也给我留一些更好的佳句, ...
- sql sever 基础知识及详细笔记
第六章:程序数据集散地:数据库 6.1:当今最常用的数据库 sql server:是微软公司的产品 oracle:是甲骨文公司的产品 DB2:数据核心又称DB2通用服务器 Mysql:是一种开发源代 ...
随机推荐
- sublime text 3 安装注释
sublime text 3 1.安装Sublime Text 3 下载安装:http://www.sublimetext.com/3 Package Control安装:https://subli ...
- activiti自定义流程之Spring整合activiti-modeler5.16实例(六):启动流程
注:(1)环境搭建:activiti自定义流程之Spring整合activiti-modeler5.16实例(一):环境搭建 (2)创建流程模型:activiti自定义流程之Spring ...
- 关于Linux中exec的一点心得
最近在学习linux操作系统中的相关知识,在使用execlp系统调用时,发现了些有趣的东西. 首先,关于execlp函数的用法: int execlp(const char *file, const ...
- (C# Debug)A first chance exception of type 'System.ArgumentException' occurred in System.Data.dll
Debug 模式下运行程序的时候,Output 窗口出来个错误“A first chance exception of type 'System.ArgumentException' occurred ...
- DG_Oracle DataGuard Failover主备节点切换(案例)
2014-03-09 Created By BaoXinjian Thanks and Regards
- linux命令(4):top 命令(性能分析工具)
linux 的top命令详解 简介 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. top显示系统当前的进程和其他状况,是一个 ...
- JAVA元运算符,一元运算符,二元运算符,三元运算符
一元运算符: 序号 一元运算符 说明 1 i++ 给i加1 2 i-- 给i减1 3 ++i 给i加1 4 --i 给i减1 i++;/*例:int i=1;i++;//先将i的值1赋值给i,然后i再 ...
- 在linux下通过sh运行java程序
1.导出jar包放在目录下,如/home 2.通过vi创建sh文件如:test.sh,内容如:java -jar test1.jar com.wzh.test.test & 3.运行命令:sh ...
- Python补充05 字符串格式化 (%操作符)
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在许多编程语言中都包含有格式化字符串的功能,比如C和Fortran语言中的格式化输 ...
- spring ioc原理(看完后大家可以自己写一个spring)
控制反转/依赖注入 最近,买了本Spring入门书:spring In Action .大致浏览了下感觉还不错.就是入门了点.Manning的书还是不错的,我虽然不像哪些只看Manning书的人那样专 ...