sql简单查询(Oracle)

SQL

SQL—结构化查询语言
由以下五部分组成了sql语言的增删改查

dql–数据查询语言

简单查询

语法:

SELECT * FROM 表名;
查询 所有 从 某个表

我们使用 scott —普通用户,初始密码 tiger 做例子
scott自带四张表
我们目前使用 emp表(员工信息表)dept表(部门信息表)
数据库的表是有归属的,表都属于某个用户,scott用户是Oracle自带的用户,自带表
此时我们输入查询语句

SELECT  * FROM emp;//注意要带分号

在这里插入图片描述
在这里插入图片描述
共有八个字段
empno–员工编号
ename–员工姓名
JOB–岗位
MGR–领导编号
HIREDATE–入职日期
SAL–工资
COMM–奖金
DEPTNO–部门编号
共有14行数据

注意

1.Oracle中绿色的代表关键字,如
2.关键字 和 表名 列名 不区分大小写(工作中几乎都是大写)
3.关键字左右需要加空格
4.Oracle中所有的标点符号都是英文状态的。


查询一下dept表是什么样的呢?

SELECT * FROM dept

在这里插入图片描述
如图所示,他有三个字段四行数据、
DEPTNO–部门编号
DNAME–部门名称
LOC–部门地址

SELECT * FROM xx;   //  * 代表所有

如果想单独查询某个或者某些字段

SELECT 列名1,列名2,列名3,..... FROM 表名;
SELECT ename,sal FROM emp;//查询姓名和工资

如图所示
在这里插入图片描述

SELECT ename,ename,sal,sal,sal FROM emp;

在这里插入图片描述
查什么展示什么,你可以随便查。

简单练习一下
查询emp表所有字段。要求两种方式。
查询部门名称和部门地址。

SELECT * FROM emp;
SELECT EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO FROM emp;
SELECT DNAME,LOC FROM dept;

注意:*的效率很低,工作中很少使用。宁可把所有字段都列出来,也最好不要用星号

别名
列别名

语法 :

SELECT 
	列名1,
	列名2,
	列名3.....
FROM 表名;

为了简单方便可以给列取别名

SELECT 列名1 AS  "别名" ,           //1. AS " "  双引号里面房别名
列名2 " 别名",						//2.把AS省略,直接空格双引号别名
列名3 别名,   						//2.空格直接写别名。
.....
FROM 表名;

如图所示
在这里插入图片描述

表别名
SELECT * 列名 FROM 表名 别名; //表名后直接空格取别名
SELECT * FROM emp e;   		//给emp表取e这个别名
别名命名规范

不要乱取
1.尽量使用缩写
2.可以使用t1,t2,t3,t4不容易乱

注意

1.不论是表别名还是列别名,只适用于当前语句。
2.别名不建议使用中文
3.同样不建议使用数字和特殊符号作为别名,如果要使用的话,双引号不能省略
4.一旦取了表别名,就不能使用原来的名字

SELECT emp.* FROM emp; //emp.表名归属,运行正常
SELECT emp.* FROM emp e//取了表别名后,执行会报错,emp已经不能使用了

SELECT emp.*,ename from emp;
//*想要和其他字段一同展示的时候必须要加表名归属
//如果切换到system用户
SELECT scott.emp.* FROM scott.emp;

做个练习
将emp表所有字段取一个中文名
将dept表取一个表别名

SELECT EMPNO "员工编号",ENAME "员工姓名",JOB "工作",MGR "领导",HIREDATE "入职时间",SAL "工资",COMM "奖金",DEPTNO "所属部门" FROM emp;
SELECT DEPTNO,DNAME,LOC FROM dept t1;

结果如图所示
在这里插入图片描述

连接符

定义:将左右两侧的内容拼接到一起

SELECT ename,job,sal FROM emp;

在这里插入图片描述

SELECT ename||job,sal FROM emp;

在这里插入图片描述
如图

常量

常量:不变的量

SELECT ename,'受到收到' FROM emp;

在这里插入图片描述
将 收到收到 识别为常量作为一个字段
如何将常量使用拼接符将字段链接呢?

SELECT ename|| '的岗位是' ||job|| ''的薪水是||sal FROM emp;

如图
在这里插入图片描述
注意:字符上面是需要加单引号的,数字不需要加


写个练习
将emp表所有字段拼接到一起

SELECT
 '职工编号是'
 ||EMPNO
 ||'的'
 ||ENAME
 || ',他的工作是'
 || JOB 
 ||',他的领导是' 
 || MGR 
 ||',他的入职时间是' 
 || HIREDATE 
 || ',他的工资是'
 || SAL 
 ||',他的奖金是'
 || COMM
 ||',他所属的部门是'
 || DEPTNO FROM emp;

在这里插入图片描述
如图

数值之间的计算

写一个例题
查询员工姓名工资,奖金以及年薪(年薪未给出,需要计算,年薪=(工资+奖金)*12)

SELECT ename,sal,comm,(sal+comm)*12 FROM emp;

在这里插入图片描述
存在空值(null值),空值是不参与加减乘除计算的,任何值和空值进行计算,得到的还是空值

条件查询

SQL条件查询

排序查询

SQL排序查询

分组查询

SQL分组查询(Oracle)及完整的查询语句

完整的查询语句

SQL分组查询(Oracle)及完整的查询语句


DML–数据操纵语言

DML数据操纵语言

DDL–数据定义语言

未更新

dcl–数据控制语言

未更新

tcl–事务控制语言

未更新

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值