【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 标识从哪个表中选择. * 选择全部 ...
随机推荐
- 在Unity中客户端与服务器端的2种通信方式(Socker)
15:17 2019/5/10 //第一种 using UnityEngine; using System.Collections; //引入库 using System.Net; using Sys ...
- Java 将File转换为MultipartFile类型
首先转换时需要用到commons-fileupload-1.3.2.jar包,若项目中没有就先加入jar包,实现代码如下: 1.根据File创建FileItem import java.io.File ...
- Django—链接MySQL
Djalgo基础配置方法 静态文件配置方法 1 所有的静态文件都放在 static 文件夹下,例如Bootstrap值类的第三方库,通常 static 文件下会创建 css image js 文件,用 ...
- Python学习【第1篇】:环境配置
1. 下载安装包 https://www.python.org/ftp/python/2.7.14/python-2.7.14.amd64.msi # 2.7安装包 https://www. ...
- 纯CSS 3D翻转一个面(翻转导航菜单 立方体)
在做练习的时候学到css的翻转导航菜单,原代码有点让人头疼,通过对其css的参数一点点研究了其实现过程. 这里推荐大家研究这个3D翻转动画的代码. 我的github:swarz,欢迎给老弟我++星星 ...
- Oracle数据库的性能调整
oracle是一个高性能数据库软件.用户可以通过参数的调整,达到性能的优化.性能优化主要分为两部分:一是数据库管理员通过对系统参数的调整达到优化的目的,二是开发人员通过对应用程序的优化达到调整的目的. ...
- oracle 工具:tkprof
https://docs.oracle.com/cd/B10501_01/server.920/a96533/ex_plan.htm http://blog.csdn.net/dba_waterbin ...
- SpringBoot支持AJAX跨域请求
利用注解的方式解决AJAX请求跨域问题 1.编写一个支持跨域请求的 Configuration - 第一种方式 - CorsConfig.java import org.springframework ...
- Javascript 基础夯实 —— 使用 webWorker 实现多线程(转)
原文链接:https://zhuanlan.zhihu.com/p/29219879 当我们开始学习 javascript 的时候,我们就知道 js 其实是单线程的,所以当我们在浏览器中运行某些耗时算 ...
- 安装Maven并搭建Maven私有仓库
一.说明 Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具.我们在进行Java代码开发的时候,Eclipse+Maven+Jetty是一个十 ...