【SQL】SELECT 语句
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 语句的更多相关文章
- SQL SELECT 语句
本章讲解 SELECT 和 SELECT * 语句. SQL SELECT 语句 SELECT 语句用于从表中选取数据. 结果被存储在一个结果表中(称为结果集). SQL SELECT 语法 SE ...
- SQL SELECT语句
基本SQL SELECT语句 1. 下面的语句是否可以执行成功 select ename , job , sal as salary from emp; 2. 下面的语句 ...
- SQL Select语句完整的执行顺序(转)
SQL Select语句完整的执行顺序: 1.from子句组装来自不同数据源的数据: 2.where子句基于指定的条件对记录行进行筛选: 3.group by子句将数据划分为多个分组: 4.使用聚集函 ...
- 170607、SQL Select语句完整的执行顺序
SQL Select语句完整的执行顺序: 1.from子句组装来自不同数据源的数据: 2.where子句基于指定的条件对记录行进行筛选: 3.group by子句将数据划分为多个分组: 4.使用聚集函 ...
- SQL-W3School-基础:SQL SELECT 语句
ylbtech-SQL-W3School-基础:SQL SELECT 语句 1.返回顶部 1. 本章讲解 SELECT 和 SELECT * 语句. SQL SELECT 语句 SELECT 语句用于 ...
- 优化 SQL SELECT 语句性能
SELECT语句的性能调优有时是一个非常耗时的任务,在我看来它遵循帕累托原则.20%的努力很可能会给你带来80%的性能提升,而为了获得另外20%的性能提升你可能需要花费80%的时间. 检查索引:在SQ ...
- SQL select语句执行顺序
sql查询原理和Select执行顺序 关键字: 数据库 一 sql语句的执行步骤 1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义. 2) 语义分析,检查语句中涉及的所有数据库对象是 ...
- SQL Select语句完整的执行顺序
1.from子句组装来自不同数据源的数据: 2.where子句基于指定的条件对记录行进行筛选: 3.group by子句将数据划分为多个分组: 4.使用聚集函数进行计算: 5. 使用having子句筛 ...
- oracle 10g 学习之基本 SQL SELECT 语句(4)
本篇文章中,对于有的和MSSQL Server相同的语法我就没有再写了,这里我只写Oracle和MSSQL Server有点不同的 定义空值 l 空值是无效的,未指定的,未知的或不可预知的值 l ...
- Oracle系列二 基本的SQL SELECT语句
1.查询表中全部数据 示例: SELECT * FROM employees; 说明: SELECT 标识 选择哪些列. FROM 标识从哪个表中选择. * 选择全部 ...
随机推荐
- 关于计算文字显示占用画面大小(System.Drawing.Graphics.MeasureString)
最近遇到了一个需要手动为显示文字换行的场合,网上转了一圈,最后形成了下面的代码: var font = new Font("微软雅黑", 9F); - DETAIL_BASE_IN ...
- 拷贝构造和拷贝赋值、静态成员(static)、成员指针、操作符重载(day06)
十七 拷贝构造和拷贝赋值 浅拷贝和深拷贝 )如果一个类中包含指针形式的成员变量,缺省的拷贝构造函数只是复制了指针变量的本身,而没有复制指针所指向的内容,这种拷贝方式称为浅拷贝. )浅拷贝将导致不同对象 ...
- C#学习笔记_03_运算符
03_运算符 算数运算符 + - * / % ++ -- 赋值运算符 = += -= *= /= %= 关系运算符 > < >= <= == != 逻辑运算符 &:逻辑 ...
- lucene_09_solrj的使用
什么是solrj solrj 是访问Solr 服务的java客户端,提供索引(增删改)和搜索(查)的请求方法,Solrj 通常在嵌入在业务系统中,通过Solrj的API接口操作Solr服务,如下图: ...
- javascript面向对象之Javascript 继承
转自原文javascript面向对象之Javascript 继承 在JavaScript中实现继承可以有多种方法,下面说两种常见的. 一,call 继承 先定义一个“人”类 //人类 Person=f ...
- POJ 题目3020 Antenna Placement(二分图)
Antenna Placement Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7011 Accepted: 3478 ...
- 具体解释linux文件处理的的经常使用命令
原创Blog.转载请注明出处 附上之前訪问量比較高的几篇linux博客 本人使用shell的8个小技巧 grep的九个经典使用场景 sed命令具体解释 awk命令具体解释 linux中全部的东西都是文 ...
- JVM —— Java 对象占用空间大小计算
零. 为什么要知道 Java 对象占用空间大小 缓存的实现: 在设计 JVM 内缓存时(不是借助 Memcached. Redis 等), 须要知道缓存的对象是否会超过 JVM 最大堆限制, 假设会超 ...
- 设计一部iphone手机用面向对象的方法
main.m //编辑字体大小command + < //编译执行快捷键 com + R #import <Foundation/Foundation.h> #import &quo ...
- A - Red and Black(3.2.1)(搜索)
A - Red and Black(3.2.1) Time Limit:1000MS Memory Limit:30000KB 64bit IO Format:%I64d & ...