一、SQL Plus连接
sqlplus:以命令行方式连接数据库
sqlplusw:以窗口登录方式连接数据库
conn sys/password as sysdba;
show user
select * from tab; 查看当前用户连接的实例的所有表
desc emp; 查看emp表的结构
DESC降序 ASC升序

二、基本SQL语句
--1.SELECT * FROM EMP

--2.SELECT ENAME,JOB,SAL FROM EMP

--3.SELECT ENAME 姓名,JOB 工作, SAL 工资 FROM EMP

--4.SELECT DISTINCT JOB FROM EMP

--5.SELECT ' THE EMPLOYEES NO: '|| EMPNO || ' NAME IS ' || ENAME || ' AND HIS SALARY IS: '||SAL FROM EMP;

--6.ELECT ENAME, SAL*12 FROM EMP;

--7.SELECT * FROM EMP WHERE SAL > 1500

--8.SELECT * FROM EMP WHERE COMM IS NOT NULL

--9.SELECT * FROM EMP WHERE SAL BETWEEN 1500 AND 3000

--10.SELECT * FROM EMP WHERE ENAME='SCOTT'

--11.SELECT * FROM EMP WHERE ENAME='SMITH' OR ENAME='WARD' OR ENAME='FORD'

--12.SELECT * FROM EMP WHERE ENAME IN ('SMITH', 'WARD')

--13.SELECT * FROM EMP WHERE ENAME NOT IN ('SMITH', 'WARD')

--14.SELECT * FROM EMP WHERE ENAME LIKE '%AM%'

--1S.SELECT * FROM EMP WHERE ENAME LIKE '%AM_S'

--16.SELECT * FROM EMP WHERE ENAME <> 'SCOTT'

--17.SELECT * FROM EMP WHERE ENAME !='SCOTT'

--18.SELECT * FROM EMP ORDER BY SAL

--19.SELECT * FROM EMP ORDER BY SAL DESC

--20.SELECT * FROM EMP WHERE DEPTNO=10 ORDER BY SAL DESC, HIREDATE ASC

--21.SELECT UPPER('rusky') FROM DUAL --字符串改大写

--22.SELECT LOWER('RUSKY') FROM DUAL --字符串改小写

--23.SELECT INITCAP ('rusky') FROM DUAL --首字母大写

--24.SELECT INITCAP(ENAME) FROM EMP

--25.SELECT CONCAT('HELLO ','RUSKY') FROM DUAL

--26.SELECT SUBSTR('rusky',1,3) FROM DUAL --oracle数据库从0开始和从1开始效果一样

--27.SELECT SUBSTR('rusky',0,3) FROM DUAL --从左边第1个字符开始,向右截取3个字符

--28.SELECT LENGTH('rusky') FROM DUAL --长度

--29.SELECT REPLACE('rusky','u','x') FROM DUAL --以x替换字符串中的u字符

--30.ROUND()四会五入 TRUNC()截断小数位 MOD()取模

--31.SELECT ROUND(195.6) FROM DUAL

--32.SELECT ROUND(195.46,1) FROM DUAL

--33.SELECT ROUND(145.467,-1) FROM DUAL --对整数部分个位进行四舍五入,结果150

--34.SELECT ROUND(145.567,-2) FROM DUAL --对整数部分十位进行四舍五入,结果100

--35.SELECT ROUND(145.567,-3) FROM DUAL --对整数部分百位进行四舍五入,结果0

--36.SELECT TRUNC(125.92) FROM DUAL --取整数,结果125

--37.SELECT TRUNC(125.98,1) FROM DUAL --指定小数点保留位数,不会四舍五入,结果125.9

--38.SELECT TRUNC(125.983,-1) FROM DUAL --结果120

--39.SELECT MOD(10,3) FROM DUAL;

--40.SELECT SYSDATE FROM DUAL; --2014/6/5 15:27:04

--41.SELECT ENAME, ROUND((SYSDATE-HIREDATE)/7) FROM EMP --求星期数

--42.SELECT SYSDATE+5 FROM DUAL

--43.SELECT SYSDATE-100 FROM DUAL

--44.SELECT MONTHS_BETWEEN(SYSDATE,HIREDATE) FROM EMP --给定日期范围内的月数

--45.SELECT ADD_MONTHS(SYSDATE,10) FROM DUAL --在指定日期上加上指定月数,求出之后的日期

/*46.NEXT_DAY下一次给定的日期数
指定时间的下一个星期几(由char指定)所在的日期,
char也可用1~7替代,1表示星期日,2代表星期一。。。。
还可以是星期一、星期二。。。星期日 或是MONDAY TUESDAY WENSDAY THIRSDAY FRIDAY SATAUDAY SUNDAY*/
--SELECT NEXT_DAY(SYSDATE,5) FROM DUAL
--SELECT NEXT_DAY(SYSDATE,'MONDAY') FROM DUAL
--SELECT NEXT_DAY(SYSDATE,'星期一')FROM DUAL

--47.SELECT LAST_DAY(SYSDATE) FROM DUAL --返回某个时间值当月最后一天

--48.SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD') FROM DUAL
--SELECT TO_CHAR(SYSDATE,'YYYY')FROM DUAL
--SELECT TO_CHAR(SAL,'99,999') FROM EMP
--SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD HH:MM:SS') FROM DUAL

--49.SELECT TO_NUMBER('123')+TO_NUMBER('456') FROM DUAL

--50.SELECT TO_DATE('2014-06-05','YYYY-MM-DD') FROM DUAL

--51.SELECT ENAME,SAL,COMM,SAL+COMM SUM FROM EMP;

--52.SELECT ENAME,SAL,COMM,SAL+NVL(COMM,0) SUM FROM EMP --NVL(COMM,0)指定,如果comm值为null时,则取0

--53.SELECT EMPNO,ENAME,HIREDATE, DECODE(JOB,'CLERK','A','SALESMAN','B','MANAGER','C','ANALYST','D','PRESIDENT','E') FROM EMP

============replace,translate,concat,lpad,rpad,substr,instr===============================

SQL> SELECT REPLACE('abcdefg','abcd','') from dual;

REPLACE
-------
1234efg SQL> select translate('abcdefgabc','abc','') from dual; TRANSLATE(
----------
123defg123 SQL> select translate('abcdefgahca','abc','') from dual; TRANSLATE('
-----------
123defg1h31 SQL> select replace('abc','a','') from dual; RE
--
bc SQL> select replace('abc','','ef') from dual; REP
---
abc SQL> select replace('abd','','') from dual; REP
---
abd SQL> SQL> SELECT CONCAT('HELLO',' WORLD') FROM DUAL; CONCAT('HEL
-----------
HELLO WORLD SQL> SELECT SUBSTR('HelloWorld',1,5) FROM DUAL; SUBST
-----
Hello SQL> SELECT INSTR('HelloWorld','W') from dual; INSTR('HELLOWORLD','W')
-----------------------
6 SQL> SELECT LPAD(sal,10,'*') from emp; LPAD(SAL,10,'*')
--------------------
*******800
******1600
******1250
******2975
******1250
******2850
******2450
******3000
******5000
******1500
******1100
*******950
******3000
******1300 已选择14行。 SQL> SELECT RPAD(sal,10,'*') FROM EMP; RPAD(SAL,10,'*')
--------------------
800*******
1600******
1250******
2975******
1250******
2850******
2450******
3000******
5000******
1500******
1100******
950*******
3000******
1300****** 已选择14行。

trim一般都是用在删除字符串两边的空格。实际上,trim也可以用来删除字符串两边的指定字符。并且trim指定删除的字符串只能是单个字符。如 trim('字符1' from '字符串2') ,字符1只能是单个字符。
1. trim()删除字符串两边的空格。
2. ltrim()删除字符串左边的空格。
3. rtrim()删除字符串右边的空格。
4. trim('字符1' from '字符串2')  分别从字符2串的两边开始,删除指定的字符1。
5. trim([leading | trailing | both] trim_char from string) 从字符串String中删除指定的字符trim_char。
  leading:从字符串的头开始删除。
  trailing:从字符串的尾部开始删除。
  borth:从字符串的两边删除。
6. tim()只能删除半角空格。

SQL> select trim(leading '' from '') from dual;

TRI
---
231 SQL> select trim(trailing '' from '') from dual; TRI
---
123 SQL> select trim(both '1
2
SQL> select trim(both '1' from '1231') from dual; TR
--
23 SQL> select trim(' 123 ') || 'rusky' from dual; TRIM('12
--------
123rusky SQL> select ltrim(' 123 ')|| 'rusky' from dual; LTRIM('')
------------
123 rusky SQL> select rtrim(' 123 ') || 'rusky' from dual; RTRIM('')
------------
123rusky
SQL> select trim('字符1' from '字符串2') from dual;
select trim('字符1' from '字符串2') from dual
*
第 1 行出现错误:
ORA-30001: 截取集仅能有一个字符 SQL> select trim('字' from '字符串2') from dual; TRIM(
-----
符串2 SQL>

基本SQL语句练习之SELECT的更多相关文章

  1. LINQ to SQL语句(2)之Select/Distinct

    适用场景:o(∩_∩)o- 查询呗. 说明:和SQL命令中的select作用相似但位置不同,查询表达式中的select及所接子句是放在表达式最后并把子句中的变量也就是结果返回回来:延迟.Select/ ...

  2. LINQ to SQL 语句(2)之 Select/Distinct

    LINQ to SQL 语句(2)之 Select/Distinct [1] Select 介绍 1 [2] Select 介绍 2 [3] Select 介绍 3 和  Distinct 介绍 Se ...

  3. oracle 中SQL 语句开发语法 SELECT INTO含义

    oracle 中SQL 语句开发语法 SELECT INTO含义 在ORACLE中SELECT INTO是如何使用的,什么意思?和SQL SERVER的不一样?   和sqlserver的不一样sql ...

  4. 如何优化用SQL语句INSERT INTO … SELECT插入数据时锁全表的问题

    1.binlog format 启用Row Based Replication(行复制)模式: SET GLOBAL binlog_format = 'ROW'; 如果你想永久的启用这个模式,请修改m ...

  5. SQL语句中的select高级用法

    #转载请联系 为了更好的了解下面的知识点,我们先创建两张表并插入数据. # 学生表 +----+-----------+------+--------+--------+--------+------ ...

  6. linux之SQL语句简明教程---SELECT

    SQL是用来做什么的呢?一个最常用的方式是将资料从数据库中的表格内选出.从这一句回答中,我们马上可以看到两个关键字: 从 (FROM) 数据库中的表格内 选出 (SELECT).(表格是一个数据库内的 ...

  7. SQL语句的使用,SELECT - 从数据库表中获取数据 UPDATE - 更新数据库表中的数据 DELETE - 从数据库表中删除数据 INSERT INTO - 向数据库表中插入数据

    SQL DML 和 DDL 可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL). SQL (结构化查询语言)是用于执行查询的语法. 但是 SQL 语言也包含用于更新. ...

  8. SQL语句--查找数据select

    查看全部数据库表参照地址:https://www.cnblogs.com/zhoulixiangblog/p/12078724.html 本文所用数据库表: prod_id vend_id prod_ ...

  9. LINQ to SQL语句之Select/Distinct和Count/Sum/Min/Max/Avg (转)

    Select/Distinct操作符 适用场景:o(∩_∩)o… 查询呗. 说明:和SQL命令中的select作用相似但位置不同,查询表达式中的select及所接子句是放在表达式最后并把子句中的变量也 ...

随机推荐

  1. ESXi控制台TSM:弥补vSphere Client不足

    当vSphere Client不能完成某些任务时,主机的ESXi控制台及其技术支持模式(TSM)可能能派上用场. ESXi控制台允许管理员执行不能通过vSphere Client进行配置的管理任务,比 ...

  2. 最新 xode shareSDK使用分享

    shareSDK使用分享 什么是shareSDK ShareSDK实现第三方登录.分享.关注等功能. 为什么使用        快速,方便 如何使用 (1)官方下载ShareSDK        参照 ...

  3. Swift中简单的单例设计

    import Foundation class Test: NSObject { // 提供单例实例 static let shareInstance = Test() // 私有化构造方法 over ...

  4. jQuery ui 利用 datepicker插件实现开始日期(minDate)和结束日期(maxDate)

    这篇文章主要介绍了jQuery ui 利用 datepicker插件实现开始日期(minDate)和结束日期(maxDate),需要的朋友可以参考下 使用jQuery ui首先需要引入jQuery类库 ...

  5. HTML5+Css3-webkit-filter

    -webkit-filter 现在规范中支持的效果有: grayscale 灰度 sepia 褐色 saturate 饱和度 hue-rotate 色相旋转 invert 反色 opacity 透明度 ...

  6. github 提交时候提示 org.eclipse.jgit.errors.ObjectWritingException: Unable to create new object: /usr/local/apache243/ht

    只需要执行 chmod -R 777 ./*  把 .git文件权限设置为 777便可以实现.

  7. Jasper_table_Cloud not resolve style(s)

    resolve method : delete style="".

  8. 转:全志A20 GPIO 总结文档

    链接: http://blog.csdn.net/chwenj/article/details/42190745 /* * author:          chwenj@gmail.com. * A ...

  9. 第三方账号登录--QQ登录,以及QQ微博账号登录

    在QQ登陆测试的时候,刚申请正常登陆,但是由于app未上线,或许是腾讯升级造成的个别时候QQ登陆无法成功会提示下图代码,功能上没啥问题,已经达到 测试效果了.附上腾讯错误代码图(大家测试QQ登陆的时候 ...

  10. 电磁兼容性设计学习笔记--PCB中地的布局

    http://bbs.ednchina.com/BLOG_ARTICLE_3010439.HTM PCB上元器件的布局对整个PCB板的电磁兼容性影响很大,所以从事硬件电路设计的工程师很有必要学习PCB ...