1.1 SELECT基本语法:

Select * |{[distinct]colum|expression [alias],…} from table;

1.2 查询当前用户所有在用的表及视图:

HR@ORA11GR2>select * from tab;

TNAME                          TABTYPE  CLUSTERID
------------------------------ ------- ----------
BIN$QVpuz+vXGO3gUwEAAH/YAA==$0 TABLE
BIN$QX3Co/ONIBTgUwEAAH9Xiw==$0 TABLE
BIN$QXf2P63XEXzgUwEAAH8s7A==$0 TABLE
BIN$QXf2P63YEXzgUwEAAH8s7A==$0 TABLE
BIN$QXf2P63aEXzgUwEAAH8s7A==$0 TABLE

1.3 查看表的结构定义

HR@ORA11GR2>desc employees;
Name Null? Type
----------------------------------------------------- -------- ------------------------------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)

1.4 查看表中所有数据

HR@ORA11GR2>select * from departments;

DEPARTMENT_ID DEPARTMENT_NAME                MANAGER_ID LOCATION_ID
------------- ------------------------------ ---------- -----------
10 Administration 200 1700
20 Marketing 201 1800
30 Purchasing 114 1700
40 Human Resources 203 2400
50 Shipping 121 1500
60 IT 103 1400

1.5 查看表中指定列的数据

HR@ORA11GR2>select first_name,last_name,employee_id from employees;

FIRST_NAME           LAST_NAME                 EMPLOYEE_ID
-------------------- ------------------------- -----------
Steven King 100
Neena Kochhar 101
Lex De Haan 102
Alexander Hunold 103
Bruce Ernst 104
David Austin 105

1.6 显示某一列的唯一值

HR@ORA11GR2>select distinct first_name from employees;

FIRST_NAME
--------------------
Ellen
Mozhe
Hermann
Alberto
Britney

1.7sql语句中的加、减、乘、除运算
1)数值型字段的加、减、乘、除运算

HR@ORA11GR2>select first_name,salary,salary+1000,salary-1000,salary*2,salary/2 from employees where first_name='Sarath';

FIRST_NAME       SALARY SALARY+1000 SALARY-1000   SALARY*2   SALARY/2
------------ ---------- ----------- ----------- ---------- ----------
Sarath 7000 8000 6000 14000 3500

2)日期型字段进行加减(日期型字段不能乘除)

HR@ORA11GR2>select hire_date,hire_date-1,hire_date+1 from employees where first_name='Sarath';

HIRE_DATE           HIRE_DATE-1         HIRE_DATE+1
------------------- ------------------- -------------------
2006-11-03 00:00:00 2006-11-02 00:00:00 2006-11-04 00:00:00

1.8null的检索
注:null值无法用=或<>来进行判断,只允许用is null和is not null来进行判断

HR@ORA11GR2>select count(*) from employees where commission_pct is null;

  COUNT(*)
----------
72 HR@ORA11GR2>select count(*) from employees where commission_pct is not null; COUNT(*)
----------
35

1.9 NULL的计算
注:NULL值与任何值四则运算后,其结果均为NULL。

HR@ORA11GR2>select last_name,commission_pct,commission_pct+200,commission_pct-200,commission_pct*2 from employees;

LAST_NAME                 COMMISSION_PCT COMMISSION_PCT+200 COMMISSION_PCT-200 COMMISSION_PCT*2
------------------------- -------------- ------------------ ------------------ ----------------
OConnell
Grant
Whalen
Hartstein
Russell .4 200.4 -199.6 .8 LAST_NAME COMMISSION_PCT COMMISSION_PCT+200 COMMISSION_PCT-200 COMMISSION_PCT*2
------------------------- -------------- ------------------ ------------------ ----------------
Partners .3 200.3 -199.7 .6
Errazuriz .3 200.3 -199.7 .6
Cambrault .3 200.3 -199.7 .6
Zlotkey .2 200.2 -199.8 .4
Tucker .3 200.3 -199.7 .6

1.10 SQL连接符与单引号的使用<可用来编写批量脚本>

HR@ORA11GR2>select 'select * from '||tname||';' from tab;

'SELECT*FROM'||TNAME||';'
---------------------------------------------
select * from BIN$QVpuz+vXGO3gUwEAAH/YAA==$0;
select * from BIN$QX3Co/ONIBTgUwEAAH9Xiw==$0;
select * from BIN$QXf2P63XEXzgUwEAAH8s7A==$0;
select * from BIN$QXf2P63YEXzgUwEAAH8s7A==$0;
select * from BIN$QXf2P63aEXzgUwEAAH8s7A==$0;
select * from BIN$QXf2P63bEXzgUwEAAH8s7A==$0;
select * from BIN$QXf2P63dEXzgUwEAAH8s7A==$0;
select * from BIN$QXs3u7LlHOfgUwEAAH94zw==$0;
select * from COUNTRIES;
select * from COURSE;
select * from DEPARTMENTS;

1.11 Aslias别名
在SELECT选取字段后可接 as 或者空格,来替代字段别名,如果还有空格、特殊字符以及大小写需要用双引号

HR@ORA11GR2>select 'xiaoming' as "Name",1 id from dual;

Name             ID
-------- ----------
xiaoming 1

1.12 distinct 删除重复值

HR@ORA11GR2>select distinct manager_id from employees;

MANAGER_ID
----------
100 123
120
121
147
205
108
148
149
201 MANAGER_ID
----------
102
101
114
124
145
146
103
122 HR@ORA11GR2>select distinct manager_id,department_id from employees; MANAGER_ID DEPARTMENT_ID
---------- -------------
100 30
147 80
90
108 100
149
101 40
100 90
102 60
103 60
114 30
100 50

【SQL】SELECT 语句的更多相关文章

  1. SQL SELECT 语句

      本章讲解 SELECT 和 SELECT * 语句. SQL SELECT 语句 SELECT 语句用于从表中选取数据. 结果被存储在一个结果表中(称为结果集). SQL SELECT 语法 SE ...

  2. SQL SELECT语句

    基本SQL SELECT语句   1.       下面的语句是否可以执行成功 select ename , job , sal as salary  from emp; 2.       下面的语句 ...

  3. SQL Select语句完整的执行顺序(转)

    SQL Select语句完整的执行顺序: 1.from子句组装来自不同数据源的数据: 2.where子句基于指定的条件对记录行进行筛选: 3.group by子句将数据划分为多个分组: 4.使用聚集函 ...

  4. 170607、SQL Select语句完整的执行顺序

    SQL Select语句完整的执行顺序: 1.from子句组装来自不同数据源的数据: 2.where子句基于指定的条件对记录行进行筛选: 3.group by子句将数据划分为多个分组: 4.使用聚集函 ...

  5. SQL-W3School-基础:SQL SELECT 语句

    ylbtech-SQL-W3School-基础:SQL SELECT 语句 1.返回顶部 1. 本章讲解 SELECT 和 SELECT * 语句. SQL SELECT 语句 SELECT 语句用于 ...

  6. 优化 SQL SELECT 语句性能

    SELECT语句的性能调优有时是一个非常耗时的任务,在我看来它遵循帕累托原则.20%的努力很可能会给你带来80%的性能提升,而为了获得另外20%的性能提升你可能需要花费80%的时间. 检查索引:在SQ ...

  7. SQL select语句执行顺序

    sql查询原理和Select执行顺序 关键字: 数据库 一 sql语句的执行步骤 1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义. 2) 语义分析,检查语句中涉及的所有数据库对象是 ...

  8. SQL Select语句完整的执行顺序

    1.from子句组装来自不同数据源的数据: 2.where子句基于指定的条件对记录行进行筛选: 3.group by子句将数据划分为多个分组: 4.使用聚集函数进行计算: 5. 使用having子句筛 ...

  9. oracle 10g 学习之基本 SQL SELECT 语句(4)

    本篇文章中,对于有的和MSSQL Server相同的语法我就没有再写了,这里我只写Oracle和MSSQL Server有点不同的 定义空值 l  空值是无效的,未指定的,未知的或不可预知的值 l  ...

  10. Oracle系列二 基本的SQL SELECT语句

    1.查询表中全部数据 示例: SELECT * FROM employees; 说明: SELECT   标识 选择哪些列. FROM      标识从哪个表中选择. *           选择全部 ...

随机推荐

  1. BZOJ 1688: [Usaco2005 Open]Disease Manangement 疾病管理 状压DP + 二进制 + 骚操作

    #include <bits/stdc++.h> #define setIO(s) freopen(s".in","r",stdin) #defin ...

  2. PAT_A1115#Counting Nodes in a BST

    Source: PAT A1115 Counting Nodes in a BST (30 分) Description: A Binary Search Tree (BST) is recursiv ...

  3. [vuejs短文]使用vue-transition制作小小轮播图

    提示 本文是个人的一点小笔记,用来记录开发中遇到的轮播图问题和vue-transition问题. 会不断学习各种轮播图添加到本文当中 也有可能会上线,方便看效果 开始制作 超简易呼吸轮播 简单粗暴的使 ...

  4. 07springMVC视图解析器

    u  概述 u  常见视图解析器 u  UrlBasedViewResolver u  InternalResourceViewResolver u  视图解析器链 u  说明 1      概述 在 ...

  5. 0606关于mysql优化原理

    转自 http://blog.csdn.net/u012388497/article/details/25097159 本文通过一个案例来看看MySQL优化器如何选择索引和JOIN顺序.表结构和数据准 ...

  6. ZOJ 3494

    超级神奇有趣题. AC自动机+数位DP.其实,数位DP在处理含有某些数字时特别不好处理,应该把它倒转为求不含有.这道题把数位DP+AC自动机结合起来,实在是很巧妙,把数字变为串来处理,强大! 要使用A ...

  7. 项目结构、包、编译为exe!

    一个java源文件里至多有一个public类,该类的名称必须与源文件名称称同样.也能够没有public类.文件名称与随意一个类名一致就可以. 包 类似于cpp的namespace,是对类的再封装,防止 ...

  8. 准备开源用javascript写Tomcat下的WebApp的项目

    原创文章,转载请注明. 这个想法由来已久.用javascript编写Tomcat下的WebApp.现现在也有alpha版本号的实现. 这种话,前端程序猿就能够像用Node.js那样,用javascri ...

  9. 驱动开发(8)处理设备I/O控制函数DeviceIoControl

    本博文由CSDN博主zuishikonghuan所作,版权归zuishikonghuan全部,转载请注明出处:http://blog.csdn.net/zuishikonghuan/article/d ...

  10. PlayerPrefs存储Vector3等结构数据

     孙广东   2016.3.31 之前有网友询问这个问题, 当时我仅仅是 提供了一个思路, 使用json序列化.反序列化. 以下就写出两种(都是仅仅能变成字符串) 1.json的序列化.反序列化方 ...