温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

使用SQL SELECT语句检索数据

发布时间:2020-08-07 23:16:03 来源:ITPUB博客 阅读:129 作者:brj880719 栏目:关系型数据库

一、官档

Book → SQL Language Reference → 19 SQL Statements: SAVEPOINT to UPDATE → SELECT

二、基础语法

  1.  SELECT {[distinct]列名,列名,…}|*
  2.    FROM 表名
  3.  [WHERE 条件]
  4.  [GROUP BY 分组列名] 
  5. [HAVING 聚合函数]
  6.  [ORDER BY 排序列名 ASC|DESC]

三、符号

1、单引号('):在Oracle中,应该只使用单引号将文本和字符和日期括起来,不能使用引号(包括单双引号)将数字括起来。 

2、双引号("):在Oracle中,单双引号含义不同。双引号被用来将包含特定字符或者空格的列别名括起来。双引号还被用来将文本放入日期格式。

3、撇号('):在Oracle中,撇号也可以写成彼此相邻的两个单引号。为了在供应商名字中间查找所有带撇号的供应商名字,可以这样编写代码: 
select * from l_suppliers where supplier_name like '%''%' 

4、&符号:在Oracle中,&符号常用来指出一个变量。例如,&fox是一个变量,稍微有点不同的一种&& fox。每当&fox出现在Oracle脚本中时,都会要求您为它提供一个值。而使用&&fox,您只需要在& &fox第一次出现时为它提供变量值。如果想将&符号作为普通的符号使用,则应该关闭这个特性。要想关闭这个特性,可以运行以下的命令: set define off ,这是一个SQLplus命令,不是一个SQL命令。SQLplus设置了SQL在Oracle中运行的环境。 

5、双竖线(||):Oracle使用双竖线表示字符串连接函数。 

6、星号(*):select *意味着选择所有的列,count(*)意味着计算所有的行,表示通配符时,表示0个或任意多个字符。 

7、正斜杠(/):在Oracle中,用来终止SQL语句。更准确的说,是表示了“运行现在位于缓冲区的SQL代码”。正斜杠也用作分隔项。 

8、不等于:有多种表达方式:!=、^=、<>、not xxx=yyy、not(xxx=yyy)

9、加减乘除:+ - * /

四、别名

  1. SELECT EMPNO AS "员工编号", ENAME AS "员工名称" FROM EMP;

  2. SELECT EMPNO 员工编号, ENAME 员工名称 FROM EMP;

  3. SELECT EMPNO "员工编号", ENAME "员工名称" FROM EMP;

五、去重

  1. --员工分布在哪些部门 ,列出部门ID
  2. SELECT DISTINCT DEPARTMENT_ID FROM EMPLOYEES

六、DESCRIBE

  1. DESC OWNER.TABLE_NAME;

  2. SELECT COLUMN_NAME,
  3.       DECODE(NULLABLE, 'Y', ' ', 'NOT NULL') NULLABLE,
  4.       DECODE(DATA_TYPE,
  5.               'RAW', DATA_TYPE || '(' || DATA_LENGTH || ')',
  6.               'CHAR', DATA_TYPE || '(' || DATA_LENGTH || ')',
  7.               'VARCHAR', DATA_TYPE || '(' || DATA_LENGTH || ')',
  8.               'VARCHAR2', DATA_TYPE || '(' || DATA_LENGTH || ')',
  9.               'NUMBER', NVL2(DATA_PRECISION,
  10.                             DECODE(DATA_SCALE,
  11.                                     0, DATA_TYPE || '(' || DATA_PRECISION || ')',
  12.                                     DATA_TYPE || '(' || DATA_PRECISION || ',' || DATA_SCALE || ')'),
  13.                             DATA_TYPE),
  14.               DATA_TYPE) DATA_TYPE
  15.   FROM DBA_TAB_COLUMNS
  16. WHERE OWNER = UPPER('&sch')
  17.   AND TABLE_NAME = UPPER('&tab')
  18. ORDER BY COLUMN_ID

七、查询例子

  1. --*:表示查询所有列
  2. select * from employees;
  3. --查询固定列
  4. select DEPARTMENT_NAME, MANAGER_ID
  5. from departments;
  6. --*:在运算符里表示乘以
  7. select FIRST_NAME 名字,
  8. SALARY * COMMISSION_PCT*12 年度奖金
  9. from employees
  10. where salary > 10000;
  11. --||:拼接字符串
  12. --'':表示单引号,在字符串里显示,用于区分'结束输出
  13. select last_name || ' ''s salary is : ' || salary aaa
  14. from employees
  15. where salary > 10000;
  16. --多个单引号时使用q'[]',避免多次使用''
  17. select last_name || q'[ 's sa'la'ry' is : ]' || salary aaa
  18. from employees
  19. where salary > 10000;
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI