今天我学习了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.列的别名最好不要用中文;
心得:
这写零散知识需要多加实际操练,过一段时间就要回过头历来在复习复习,否则,可能随着时间而流逝。