SQL-Part1-基础知识(学习SQL第一天)

# SQL-Part1-基础知识
## 一、术语及概念简单介绍
 1.服务器:用于接收并处理其它程序发出的请求的程序(软件),或者是安装此类程
序的设备(计算机)
2.客户端:向服务器发出请求的程序(软件),或者是安装此类程序的设备(计算
机)。
3.表(table):类似 Excel,由行和列组成的二维表。行(Row)和列(Column)
4.字段:表中的列(垂直方向),叫做一个字段
5.记录:表的行(水平方向),叫做一条记录。【注意】关系数据库必须以行为单位进行数据读写。
6.单元格:行列交汇处。【注意】与 Excel 不同,一个单元格只能输入一个数据。
## 二、SQL分类
1.DQL(Data Query Language,数据査询语言):一种用于从数据库中检索数据的语
言,代表关键字为select。
2.DDL(Data Definition Language,数据定义语言):用来创建数据库中的各种对象
创建、删除、修改表的结构,代表关键字为create、drop、alter。
3.DML(Data Manipulation Language,数据操作语言):用于数据库中对数据的操
纵,代表关键字为insert、delete、update。
4.DCL(Data Control Language,数据控制语言):用来授予或回收访问数据库的某种特权。代表关键字为grant、revoke。
5.TCL(Trasactional Control Languag,事务控制语言):用于维护数据的一致性,包
括commit、rollback和savepoint三条语句
## 三、SQL里的关键字(keywords)
### 1.select 查询语句
可以实现从一个或多个数据库中的一个或多个表中查询信息,并将结果显示为另 外一个二维表的形式,称之为结果集
### 2.where筛选
可以过滤出想要的结果。
### 3.distinct去重
如果希望一个列表没有重复值,可以利用distinct子句从结果集中除去重复的行。
### 4.as取名
为查询显示的每个输出字段或表达式取一个别名,以增加结果集的可读性,易于理解列 的含义!相当于起个外号一样,别名的效果范围仅在该SQL语句范围内,别名并不会改变本名。
### 5.||链接
将两个字段的字符串连接在一起
### 6.dual虚拟表
只有一行一列,基本上oracle引入dual为的就是符合语法! 因为在oracle当中查询语句必须要有关键字 select ....from tablename; 只有这样语句才完 整,要是没有表名就无法查询,而时间,日期等不存在于任何表,这个时候就引入了 dual 虚表的概念。
### 7.rownum伪列
不是在物理上真实存在的列,它是对查询结果给了一个从一开始的排列数据, 获取到结果集之后再加上去的一个列
### 8.rowid数据地址
真实存在的地址,每一行信息都有自己独立的隐藏id。
## 四、上机练习

--emp,dept为系统自带的数据
--1. 查询emp表中员工的名字和工资
select emp.ename,emp.sal from emp;
--2. 查询emp表中员工的编号,名字,奖金
select emp.empno,emp.ename,emp.comm from emp;
--3. 查询部门编号和部门名称
select dept.deptno,dept.dname from dept;
--4. 查询员工名字和入职日期(列名中文显示 名字, 入职日期)
select emp.ename as 名字,emp.hiredate as 入职日期 from emp;
--5. 查询员工编号,名字,经理编号
select emp.empno,emp.ename,emp.mgr from emp;
--6. 查询公司里的所有部门的部门编号(去重)
select distinct emp.deptno from emp;
--7. 查询员工的姓名和工资,按这种格式显示:simth的工资是800块
select emp.ename||'的工资是'||emp.sal||'块' as xxx的工资是xxx块 from emp;
--8. 使用虚拟表来查看系统日期
select sysdate from dual;
--9. 查看员工表的前五条数据
select emp.* from emp where rownum<=5;
--10. 查看员工表的rowid
select emp.*,rowid from emp;


## 五、课堂笔记
SQL-Part1-基础知识(学习SQL第一天)_第1张图片

你可能感兴趣的:(oracle,数据库)