SQL查询语句[0]

2013.8.20

 

使用用户:scott/tiger(测试用户)

SQL四类语句:

  • 查询语句 select语言——重要,记下来
  • DML 数据操作语言
  • DDL 数据定义语言
  • 控制语句

SQL> desc emp  //显示emp表


设置别名:
SQL> select ename, sal*12 anuual_sal from emp;

设置别名

SQL> select ename, sal*12 "anuual sal" from emp;//用双引号来保证格式,大小写不变,可以输入特殊符号

 

列的求和

任何含有空值的数学表达式,结果都是空值

字符串连接:

字符串连接

SQL> select distinct deptno from emp; //distinct 消除重复值

DEPTNO
----------
30
20
10

 

//where过滤条件

//where过滤条件

 


字符串比较://比较ASCII码的值大小

 

 字符串比较:

 

 

between:

SQL> select ename, deptno, sal from emp where sal between 800 and 1500;

ENAME          DEPTNO        SAL
---------- ---------- ----------
SMITH              20        800
WARD               30       1250
MARTIN             30       1250
TURNER             30       1500
ADAMS              20       1100
JAMES              30        950
MILLER             10       1300

已选择7行。

SQL> select ename, deptno, sal from emp where sal >= 800 and sal <= 1500;

ENAME          DEPTNO        SAL
---------- ---------- ----------
SMITH              20        800
WARD               30       1250
MARTIN             30       1250
TURNER             30       1500
ADAMS              20       1100
JAMES              30        950
MILLER             10       1300

已选择7行。

 

null   not null:

SQL> select ename, comm from emp where comm is null;

ENAME            COMM
---------- ----------
SMITH
JONES
BLAKE
CLARK
SCOTT
KING
ADAMS
JAMES
FORD
MILLER

已选择10行。

SQL> select ename, comm from emp where comm is  not null;

ENAME            COMM
---------- ----------
ALLEN             300
WARD              500
MARTIN           1400
TURNER              0

 

in:

SQL> select ename, sal from emp where sal in (800, 5000);

ENAME             SAL
---------- ----------
SMITH             800
KING             5000

 

规定格式的比较:

SQL> select ename, sal, hiredate from emp where hiredate > '01-FEB-81';

ENAME             SAL HIREDATE
---------- ---------- --------------
ALLEN            1600 20-2月 -81
WARD             1250 22-2月 -81
JONES            2975 02-4月 -81
MARTIN           1250 28-9月 -81
BLAKE            2850 01-5月 -81
CLARK            2450 09-6月 -81
SCOTT            3000 19-4月 -87
KING             5000 17-11月-81
TURNER           1500 08-9月 -81
ADAMS            1100 23-5月 -87
JAMES             950 03-12月-81

ENAME             SAL HIREDATE
---------- ---------- --------------
FORD             3000 03-12月-81
MILLER           1300 23-1月 -82

已选择13行。

 

 

and、or、not

// where x = 1 and y = 0
// where x = 1 or y = 0
// where x = 1 not y = 0(用法错误!)
// where x = 1 and y <> 0(用法正确!)
// where x = 1 and y not in (0);(用法正确!)

 

SQL> select ename, deptno, sal from emp where deptno = 10 and sal <> 3000;

ENAME          DEPTNO        SAL
---------- ---------- ----------
CLARK              10       2450
KING               10       5000
MILLER             10       1300

SQL> select ename, deptno, sal from emp where deptno = 10 and sal not in (800, 5000);

ENAME          DEPTNO        SAL
---------- ---------- ----------
CLARK              10       2450
MILLER             10       1300

 

 

 


模糊查询:

SQL> select ename from emp where ename like '_A%';

ENAME
----------
WARD
MARTIN
JAMES

SQL> select ename from emp where ename like '%A%';

ENAME
----------
ALLEN
WARD
MARTIN
BLAKE
CLARK
ADAMS
JAMES

已选择7行。                //注意通配符 _(一个字符) 和 % (多个字符,可以是0个或1个)的区别

 

已选择7行。 //注意通配符 _(一个字符) 和 % (多个字符,可以是0个或1个)的区别

 

//如果想查找字符串里面就含有 % 的条目,需要加转义字符 \% ,这是默认的,但也可以自己指定:

SQL> select ename from emp where ename like '%$%%' escape '$'; //将$指定为转义字符

 

 

 

转载于:https://www.cnblogs.com/ZhuJY/p/3522032.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值