1.1最简单的查询语句

例 1-1

SQL> select * from emp;

例 1-1 结果

这里的 * 号表示全部的列。它与在select 之后列出全部的列名是一样的。查询语句以分号( ; )结束。

emp(employee)是一个员工表。

1.2 在查询语句中怎样选择特定的列

在平时的使用过程中我们须要的往往仅仅是一张表中的某一条或者某几条数据而已。但上面查询的结果可能看起来比較乱。假设我们指向知道若干个特定列的信息,使用select 语句非常easy就能够做到。

就好比我们去菜市场买东西,不会把真个市场的东西买完。比如:

买  白菜,猪肉

从 菜市场;

以下我们举个样例:

公司的会计在每次发放工资时,她可能须要确定每一个员工的工号(empno)、名字(ename)和工资(sal)。能够使用以下的语句来实现她的要求,例1-2。

例1-2

SQL> SELECT empno,ename,sal  FROM emp;
--注意,这里keywordSELECT、FROM,在oracle大写和小写是没有区分的

例1-2 结果

在查询语句中选择指定的列就是关系数据库中所称的投影(Project)

当然,在selectkeyword后面。你能够选择随意的列然后用逗号隔开,并且也能够依据须要来指定显示的顺序。(通常是依照select后面列名从左到右排序),例1-3

例1-3

SQL>select sal,ename,empno from emp;

例1-3 结果

1.3 怎样书写查询语句

oracle中规定。组成SQL的keyword是不能缩写的,也就是说。你在查询语句中不能将 select写成sel或者selec等,不能把from写成fro或者fr。也不能把keyword分开书写。即keyword必须原样书写。

当然,能够用大写,或小写,或大写和小写混写来书写SQL语句,如例1-4

例1-4

SQL>select Sal,EName,EMPNO From Emp;

例1-4 结果

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

注意:尽管使用没什么问题,可是oracle还是推荐 keyword 使用大写,其它用小写。

我们或许会发现,我们在上面的样例中,sql语句都是一句话写成的。事实上我们能够将SQL语句放在多行上。方便我们的阅读。(语句简单的时候看不出,当查询的内容较多时,分行书写的优势就出来了。

)。如例1-5

例1-5

SQL> SELECT sal,ename,empno
2 FROM emp;

输出结果:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

注意:完整的SQL命令叫做语句(statement),玫瑰keyword和后面跟着的选项叫字句(clause)。比如,“SELECT * FROM emp;"叫语句,而”SELECT *”叫子句。“FROM emp”也叫子句。

例1-6

SQL> SELECT empno,ename,sal
2 eptno,job
3 FROM emp;

例 1-6 结果

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

从例1-6的语句中我们能够非常easy的看出:第一行和第二行为SELECT子句,第三行为FROM子句。

例1-6的查询结果显示了emp表中每一个员工的工号(empmo)。名字(ename)、工资(sal)、部门号(deptno)和职位(job)。

1.4 列标题和数据的默认显示格式

在文章一開始的时候。已经看到了因为字符集的不同。使日期型的显示有些问题。为了解决问题能够使用里1-7的SQL语句。

例1-7

SQL> alter session
2 set NLS_DATE_LANGUAGE = 'AMERICAN';

例1-7 结果

为了使显示跟家清晰,能够使用例1-8和例1-9的SQL*PLUS格式化语句

例1-8

SQL> col hiredate for a15

例1-9 

SQL> col ENAME FOR A8

注意:假设对以上SQL*PLUS命令不太理解的话,请不要紧张,后面会慢慢解释

SQL*PLUS默认的列表标题结果显示是:

字符和日期数据为左对齐;

而数字型数据为右对齐。

能够使用例1-10的样例来验证以上的结论。

例1-10

SQL> SELECT empno,ename,sal,
2 hiredate,job
3 FROM emp;

例1-10 结果

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

无语,写完文章后。保存公布,图没了,很无语。又一次再编辑一边,也发现一些语句的错误,已经改正

---------------------------------------------------------

上一篇:oracle学习 第一章 简单的查询语句 ——02

下一篇:oracle学习 第一章 简单的查询语句 ——04

最新文章

  1. NOSQL数据模型和CAP原理
  2. Visual Studio 2015 速递(4)——高级特性之移动开发
  3. Win7下安装双系统Centos,并修复Centos引导加载程序安装在U盘上的问题
  4. C# - Lambda 表达式
  5. JVM 字节码执行实例分析
  6. js点击事件代理时切换图片如何防抖动
  7. classnull100 - The 3n + 1 problem
  8. Spring Aspect 用法略讲
  9. ASP.NET MVC Autofac依赖注入的一点小心得(包含特性注入)
  10. uva208
  11. 绝世好题bzoj4300
  12. 推荐一个优秀的c++源代码,TinyXml2
  13. 简说Java线程的那几个启动方式
  14. 猎鱼达人_PC按键
  15. HTCVIVE定位器更新之后,定位器指示灯不亮,重置基站固件操作指南。
  16. C#中五种访问修饰符作用范围 public、private、protected、internal、protected internal
  17. ASP.NET Core读取AppSettings (转载)
  18. 如何使用PowerDesigner设计数据库关系模式
  19. vs2010 :0X80041FEB 程序集无法修改版等内容
  20. linux 调用栈打印

热门文章

  1. 【Codeforces Round #499 (Div. 1) B】Rocket
  2. POJ2142 The Balance (扩展欧几里德)
  3. Spring中基于Java的配置@Configuration和@Bean用法 (转)
  4. 学一下HDFS,很不错(大数据技术原理及应用)
  5. ZOJ 3687
  6. [React] Integration test a React component that consumes a Render Prop
  7. 纯文本中识别URI地址并转换成HTML
  8. STM32F407VG (四)时钟配置
  9. HTTP Status 500 - Request processing failed; nested exception is java.lang.NullPointerException
  10. 官方文档 Upgrading Elasticsearch