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语句基础知识的更多相关文章

  1. SQL server基础知识(表操作、数据约束、多表链接查询)

    SQL server基础知识 一.基础知识 (1).存储结构:数据库->表->数据 (2).管理数据库 增加:create database 数据库名称 删除:drop database ...

  2. Sql Server 基础知识

    Sql Server 基础知识: http://blog.csdn.net/t6786780/article/details/4525652 Sql Server 语句大全: http://www.c ...

  3. SQL数据库基础知识-巩固篇<一>

    SQL数据库基础知识-巩固篇<一>... =============== 首先展示两款我个人很喜欢的数据库-专用于平时个人SQL技术的练习<特点:体积小,好安装和好卸载,功能完全够用 ...

  4. SQL语句之 知识补充

    SQL语句之 知识补充 一.存储过程 运用SQL语句,写出一个像函数的模块,这就是存储过程. 需求: 编写存储过程,查询所有员工 -- 创建存储过程(必须要指定结束符号) -- 定义结束符号 DELI ...

  5. Sqli-labs之sql注入基础知识

    (1)注入的分类 基于从服务器接收到的响应  ▲基于错误的SQL注入 ▲联合查询的类型 ▲堆查询注射 ▲SQL盲注 •基于布尔SQL盲注 •基于时间的SQL盲注 •基于报错的SQL盲注 基于如何处理输 ...

  6. 【SQL】- 基础知识梳理(二) - SQL简介

    一.引言 在梳理这些知识之前,说实话,如果有人问我SQL是什么?我可能会回答就是“INSERT,DELETE,UPDATE,SELECT”语句呗,还能是啥. 二.SQL概念 SQL是什么? SQL是S ...

  7. SQL语句基础之 单表查找

    Sql语句之 单表查询 一.一般查询 1.查看表中的所有记录 以及 所有字段(属性) 语句 : select * from student; 2.只查看某些字段 语句:select sname,sex ...

  8. 精妙SQL语句 基础

    精妙SQL语句SQL语句先前写的时候,很容易把一些特殊的用法忘记,我特此整理了一下SQL语句操作,方便自己写SQL时方便一点,想贴上来,一起看看,同时希望大家能共同多多提意见,也给我留一些更好的佳句, ...

  9. sql sever 基础知识及详细笔记

    第六章:程序数据集散地:数据库 6.1:当今最常用的数据库 sql  server:是微软公司的产品 oracle:是甲骨文公司的产品 DB2:数据核心又称DB2通用服务器 Mysql:是一种开发源代 ...

随机推荐

  1. 报错:Caused by: java.io.FileNotFoundException: d:\youTemprepository\upload_77faffc1_1580a9240ca__8000_00000001.tmp (系统找不到指定的路径。)

    org.apache.commons.fileupload.FileUploadBase$IOFileUploadException: Processing of multipart/form-dat ...

  2. .NET常用方法收藏

    1.过滤文本中的HTML标签 /// <summary> /// 清除文本中Html的标签 /// </summary> /// <param name="Co ...

  3. U3d中实现A*寻路,附源文件

    图片看不清楚,请点击看大图 http://pan.baidu.com/s/1pKwmOYn   写了好多,没保存,哎哎哎 空格键开始移动

  4. 手势识别(一)--手势基本概念和ChaLearn Gesture Challenge

    以下转自: http://blog.csdn.net/qq1175421841/article/details/50312565 像点击(clicks)是GUI平台的核心,轻点(taps)是触摸平台的 ...

  5. Apriori 关联算法学习

    1. 挖掘关联规则 1.1   什么是关联规则 一言蔽之,关联规则是形如X→Y的蕴涵式,表示通过X可以推导“得到”Y,其中X和Y分别称为关联规则的先导(antecedent或left-hand-sid ...

  6. SOA_Oracle SOA Suite and BPM Suite 11g官方虚拟机安装指南(案例)

    参考:Oracle官方 - http://www.oracle.com/technetwork/middleware/soasuite/learnmore/vmsoa-172279.html?ssSo ...

  7. HDU 1213 How Many Tables(并查集,简单)

    题解:1 2,2 3,4 5,是朋友,所以可以坐一起,求最小的桌子数,那就是2个,因为1 2 3坐一桌,4 5坐一桌.简单的并查集应用,但注意题意是从1到n的,所以要减1. 代码: #include ...

  8. NeHe OpenGL教程 第三十九课:物理模拟

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  9. C#使用原生的Directx和OpenGL绘图

    原文 混合语言编程-C#使用原生的Directx和OpenGL绘图的方法 由于项目需要做一些图形展示,所以就想到了使用Directx和OpenGL来绘图,但项目准备使用C#来开发(大家比较熟悉C#), ...

  10. ci模板布局方式

    1.修改Loader链式加载header和footer方式 参考:http://stackoverflow.com/questions/9540576/header-and-footer-in-cod ...