认识SQL
SQL指的是结构化查询语言
SQL语句本身分为若干个子类:
- DML(数据操作语言):数据的更新与查询操作,在开发之中几乎都是以DML操作为主
(SELECT、FROM、INSERT、GROUP BY、HAVING、WHERE、UPDATE、DELETE) - DDL(数据定义语言):数据库对象的定义语言,一般进行数据库设计的时候都必须掌握
例如:数据表、约束、索引、同义词、用户 - DCL(数据控制语言):数据库的权限控制
Scott用户表
首先如果想要知道某一个用户(模式)所有的数据表,可以使用如下语法完成:
SELECT * FROM tab;
想要知道每一张表的结构,则可以使用“DESC 表名称”
DESC dept;
SQL简单查询
如果要进行查询,那么肯定使用的是DML中的查询部分支持
对于简单查询而言通俗的理解,就是可以将数据表中的全部记录都查询出来,但是可以通过这样的语法控制列的显示与否
--①②表示执行语句的执行顺序
② SELECT [DISTINCT] * | 列[别名],列[别名],...
① FROM 表名称[别名];
如果在SELECT子句之中使用了“ * ”表示的是查询一张表中的所有数据列
--查询emp表的全部记录
SELECT * FROM emp;
在本程序之中,FROM子句是确定数据的来源,来源只要是表结构(行与列的集合),而SELECT子句控制的是所需要的的数据列
--查询每个雇员的编号、姓名、职位,基本工资
SELECT empno,ename,sal,job
FROM emp;
除了进行基本的查询列之外,在简单查询之中也支持四则运算,并且可以直接使用列的内容进行size运算
--查询每个雇员的编号、姓名、基本年薪(月工资*12)
SELECT empno,ename,sal*12
FROM emp;
此时有部分的列名称不简单明了,此时可以进行别名设置
--基本年薪别名为income
SELECT empno,ename,sal*12 income
FROM emp;
实际上在以后定义数据表名称或者是列名称的时候中文也支持,但是开发中,不建议使用中文
在进行简单查询的过程之中,还支持数据的连接操作,使用“ || ”进行连接
--观察连接
SELECT empmo || ename
FROM emp;
可以将连接再变得好看一些,可以中间使用一些文字描述
现在对于一些固定输出的内容就必须进行处理,对于此部分的处理暂时只考虑两种类型的数据
- 普通数字:直接编写
SELECT ename||1
FROM emp;
- 字符串:使用单引号声明
--希望最终的格式是:“编号:XXX,姓名:XX”
SELECT '编号:'||empno||',姓名:'||ename
FROM emp;
在简单查询的操作之中还存在一个DISTINCT关键字,此关键字的主要目的是消除重复内容
--查询所有职员的职位信息,消除重复内容
SELECT DISTINCT job
FROM emp;
需要提醒的是,如果是消除重复内容,指的是查询出来数据所有列的内容都重复
总结
简单查询中的最大特征在于:控制数据列,但是它无法进行数据行的控制
仅仅是做数据的投影操作