传智播客java学习--sql简单查询语句

今天我学习了sql的简单查询语句,

 

一些基本的概念:

1                  系统权限:数据库中的对象, 表,创建表,删除表

2           对象权限:对数据的增、删、改、查。

3           Oracle中常用的数据类型:

3.1          Char:定长字符   剩余的空间不释放

3.2          Varchar2 :变长字符串;  剩余的空间释放

3.3          date  : 日期类型

3.4          timestamp: 时间戳(精确时间——版本控制),

3.5          number(s,p):数字型,s:范围,  p:精度

3.5.1     number(5,2),最大值是999.99;

3.5.2     myspl:double(s,p)

3.5.3     sqlserver:numeric(s,p)

3.6           blob:存放图形,声音,视频

3.7          Clob:大文本文件,

4           创建表的语法:

4.1          Create table table_name(字段名称1 数据类型,字段名称2 数据类型)

5           查看表中的数据:select * from table_name

6           查看表的结构:Desc table_name

7           Sql: 结构化查询语言,在Oracle中sql语句分为5大类:

7.1          Select查询语言

7.2          DML语句(数据操作语言)

7.3          DDL语句

8           SQL语句的书写规则:

8.1          对大小写不敏感

9           Select语句的基本功能:

9.1          Date 和char 左对齐,numer右对齐,

9.2          列标题大写显示,

9.3          字符串连接符:| |

9.4          空值不代表空格、0,包含空值的任何表达式运算都为空,

9.5          空值的连接运算等于与空字符串的连接,

9.6          定义字段的别名,

10       字符串和日期用单引号

 

 

Sql的简单查询语句:

 1:获取系统日期 select sysdate from dual

 

2: dual是虚表,用于计算临时数据 例如:select 5*6 from dual

 

3: select to_char(sysdate,'yyyy-mm-dd') from dual

 

4:工资大于3000的所有员工,

 

5:比较运算符,between --and

    select salary from employee where salary between 2000 and 6000

 

6: in运算符号:where employee in(100001,100004,100005)

   where jod_id in ('司机','秘书','总经理')

 

7:like运算符:执行通配查询,%可包含零个或多个字符,_可包含一个字符 ,  含有字母a的所有员工信息, where first_name like '%a%'   ,      第二个字母是a的员工信息,where first_name like '_a%'   ,    查询姓名中含有%的员工的信息   ,,where like '%/%%' escape '/'

where name llike='_ _/%_ '

 

8:没有提成的员工信息;where commission_pct is null 

    有提成的 is not null

 

9: 逻辑运算符: and  ,   查询工资大于3000的且 姓名有a的

  where name like '%a%' and salary>3000 

    or  或者   ;

    not  job_id 不是总经理、秘书、司机的

     where job_id not in('总经理','秘书','司机')

 

10: 优先级顺序:

       比较运算符---->not ---->and----->or

       查询所有的job_id 是总经理或秘书,且工资>2000的员工信息

       where job_id ='总经理'or job_id='秘书' and salary >2000

括号可以提高优先级:

 

11.使用order by 排序 (出现在最后)

    order by 字段1 asc(升序),字段2 desc(降序)

       查询所有员工的姓名,编号,雇佣日期,

12.使用列的别名排序;

别名不要用中文

 

 

总结:使用时应该特别注意

1.使用distinct去掉重复行 ;select distinct deptno,job from emp

 

2.连接字符串的字段:select ename ||'is a' || job from emp

 

3.字符串类型、日期类型 ,要用单引号括起来,

 

4.order by 字段名 desc(asc);  应该放在最后面,

 

5.通配符 % 表示零个或多个,_表示一个;

 

6.包含空值的任何表达式运算都为空,空值的连接运算等于与空字符串的连接

 

7.时间格式转换:to_char(date,'yyyy-mm-dd')

 

8.运算符优先级顺序:由高到低:比较运算符---->not ---->and----->or

 

9.列的别名最好不要用中文;

 

 

心得:

这写零散知识需要多加实际操练,过一段时间就要回过头历来在复习复习,否则,可能随着时间而流逝。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值