oracle开发之<<SQL Cookbook>>学习笔记整理:第一章 检索记录

1.写程序时列出需要的列比直接写SELECT *  更直观。采用这种方式,行数据检索性能相同,列数据检索性能提高;选取部分需要的列时,降低IO和网络传输时间,提高性能。

2.WHERE子句筛选记录配合=,<,>,<=,>=,!,<>和AND,OR等谓词。

3.NULL值用IS NULL和IS NOT NULL来判断。

4.为列取别名,在子查询中特别重要。

5.使用||来拼接列的值。

6.使用case when end子句来实现if-else判断。

7.取top N时,需要注意rownum只能取前n行,不能取第n行,实现第n行使用row_number()。

8.随机取数据(造数据时有用):

SELECT * FROM (

    SELECT ename, job

          FROM emp

          ORDER BY dbms_random.value()

 )  WHERE ROWNUM <= 5

9.使用nvl或coalesce或case when end子句处理空值,示例如下:

SELECT empno,
       ename,
       job,
       comm comm_raw,
       coalesce(comm,0) comm --或 nvl(comm,0) comm
  FROM emp;        

10.用like模糊匹配:%通配  _ 占位符。

时间: 2024-08-08 17:53:28

oracle开发之<<SQL Cookbook>>学习笔记整理:第一章 检索记录的相关文章

Java学习笔记整理第一章 java基本数据类型、修饰符、运算符

Java关键字: Java关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字,还有特别意义的变量.Java的关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名.方法名.类名.包名和参数.   具体的百度百科 'Java关键字'". Java标识符: Java语言中,对于变量,常量,函数,语句块也有名字,我们统统称之为Java标识符. 标识符是用来给类.对象.方法.变量.接口和自定义数据类型命名的. 注意: a.数字不能开头 b

Cocos2dx 学习笔记整理----第一个项目

接上一节, 进入新建的项目下面的proj.win32下面,找到项目名.sln文件(我的是game001.sln),双击会通过VS2010打开.(当然,你装了VS什么版本就是什么版本) 将你的项目设为启动项目, 切换到解决方案视图, 然后邮件点击解决方案, 选择生成解决方案. 第一次生成根据个人机器性能会消耗大概1-3分钟,呵呵. 但是以后会快很多的. 生成成功的话会在输出窗口显示如下: 一般都会生成成功,但是我生成的时候失败了很多次,后来发现是这个问题:http://www.cnblogs.co

Stealth视频教程学习笔记(第一章)

Stealth视频教程学习笔记(第一章) 本文是对Unity官方视频教程Stealth的学习笔记.在此之前,本人整理了Stealth视频的英文字幕,并放到了优酷上.本文将分别对各个视频进行学习总结,提炼出其中的知识点和思路思想. 视频地址在(http://www.youku.com/playlist_show/id_23389553.html),是一个Stealth的专辑,这里只放上第一个视频,其它的大家在上面的链接中慢慢看吧. 第二章有一个视频是FLV格式的,我没法把字幕嵌入其中,所以优酷上就

APUE学习笔记:第一章 UNUX基础知识

1.2 UNIX体系结构 从严格意义上,可将操作系统定义为一种软件(内核),它控制计算机硬件资源,提供程序运行环境.内核的接口被称为系统调用.公用函数库构建在系统调用接口之上,应用软件即可使用公用函数库,也可使用系统调用.shell是一种特殊的应用程序,它为运行其他应用程序提供了一个接口 从广义上,操作系统包括了内核和一些其他软件,这些软件使得计算机能够发挥作用,并给予计算机以独有的特性(软件包括系统实用程序,应用软件,shell以及公用函数库等) 1.3  shell shell是一个命令行解

学习笔记:第一章——计算机网络概述

学习笔记:第一章--计算机网络概述 1.0 计算机网络的定义:一些互相连接的,自治的计算机的集合称为计算机网路. 1.1 计算机网络在信息时代中的作用:连通和共享. 1.2 因特网概述:       网络的概念:网络(network)是由若干个结点(node)和连接这些结点的链路(link)组成. 网络中的结点可以是计算机,集线器,交换机和路由器: 网络和网络是通过路由器连接: 因特网是世界上最大的网络. 1.3 因特网的组成: 从因特网的工作方式上将其分为以下两大快: (1)边缘部分:由所有的

UNIX环境高级编程学习笔记(第一章UNIX基础知识)

总所周知,UNIX环境高级编程是一本很经典的书,之前我粗略的看了一遍,感觉理解得不够深入. 听说写博客可以提高自己的水平,因此趁着这个机会我想把它重新看一遍,并把每一章的笔记写在博客里面. 我学习的时候使用的平台是Windows+VMware+debian,使用secureCRT来连接(可以实现多个终端连接). 因为第一章是本书大概的描述,所以第一章的我打算写得详细一点,而且书本的原话占的比例会比较多,重点的东西会用粗体显示出来. 1.1  引言 所有操作系统都为他们所运行的程序提供服务.典型的

数据库SQL语句学习笔记(2)-检索数据库

首先设置好此连载笔记的演示所用的表 CREATE database sells; #创建名叫sells的数据库 USE sells; #告诉mysql,我要开始使用这个数据库了 CREATE TABLE Customers #创建Customers表 ( cust_id char(10) NOT NULL , cust_name char(50) NOT NULL , cust_address char(50) NULL , cust_city char(50) NULL , cust_stat

sql 入门经典(第五版) Ryan Stephens 学习笔记 (第一章)

SQL - Structured  Query Language (结构化查询语言) 1/ SQL 命令的类型 : 数据定义语言: DDL 数据操作语言: DML 数据查询语言: DQL 数据控制语言: DCL 数据管理命令 事物控制命令 2/ 数据库 - 表 主键: 确保所有元素的标识都是唯一的 不同的表的映射: 公用某个字段(通常是主键)

MySQL Cookbook学习笔记第四章

1,克隆表(创建一个恰好与某个已有表结构一致的表) create table - like克隆表结构:使用insert into - select语句克隆部分或者全部表数据 2,将查询结果保存到表中 a,使用insert into...select将语句查询结果插入表中,若表不存在需要使用create table -select 语句为查询结果新建一张表. insert into dst_tb1(i,s) select val, name from src_tb1 insert into dst