SQL基础.docx

上传人:b****4 文档编号:5473663 上传时间:2023-05-08 格式:DOCX 页数:14 大小:1.36MB
下载 相关 举报
SQL基础.docx_第1页
第1页 / 共14页
SQL基础.docx_第2页
第2页 / 共14页
SQL基础.docx_第3页
第3页 / 共14页
SQL基础.docx_第4页
第4页 / 共14页
SQL基础.docx_第5页
第5页 / 共14页
SQL基础.docx_第6页
第6页 / 共14页
SQL基础.docx_第7页
第7页 / 共14页
SQL基础.docx_第8页
第8页 / 共14页
SQL基础.docx_第9页
第9页 / 共14页
SQL基础.docx_第10页
第10页 / 共14页
SQL基础.docx_第11页
第11页 / 共14页
SQL基础.docx_第12页
第12页 / 共14页
SQL基础.docx_第13页
第13页 / 共14页
SQL基础.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

SQL基础.docx

《SQL基础.docx》由会员分享,可在线阅读,更多相关《SQL基础.docx(14页珍藏版)》请在冰点文库上搜索。

SQL基础.docx

SQL基础

SQLPLUS补充:

查看sqlplus命令的方法:

HELPINDEX

连接断开:

disconn

创建表:

CREATETABLE表名(列名类型[约束]…);

插入语句:

INSERTINTO表名[(字段名,字段名…)]VALUES(字段值,字段值…);

&变量名定义与用户交互的变量,用户需要输入相应的数值(可以是表名,列名,变量)

例:

select*fromcustomerswherecustomer_id=&c_id;

&&变量名表示只需输入一次,其他均引用此处的值

例:

select&&v_col,phonefrom&v_tabwhere&&v_col=&v_val;

SETVERIFYON|OFF控制输出内容是否包含变量替换

SETDIFINE‘字符’定义变量标识符

例:

SETDIFINE‘#’

DEFINE变量=值可以定义变量,用DEFINE可查询系统中所有已定义的变量

例:

DEFINEv_col=customer_id;

UNDEFINE变量可以删除已定义变量

例:

UNDEFINEv_col

ACCEPT变量名[type][FORMATformat][PROMPTprompt][HIDE]:

交互式定义变量

例:

ACCEPTv_idnumberformat99prompt'用户ID'

例:

ACCEPTv_passwordCHARPROMPT'Password:

'HIDE

SQL语句

⏹SQL是一种介于关系代数与关系演算之间的结构化查询语言。

SQL是一个通用的、功能极强的数据库语言。

⏹SQL集数据查询(dataquery)、数据操作(datamanipulation)、数据定义(datadefinition)、数据控制(datacontrol)于一体。

⏹SQL语言包括的内容

1.SQLDDL(datadefinition):

定义关系模式、删除关系、建立索引以及修改关系模式;

2.SQLDML(datamanipulation):

查询、插入、删除和修改;

3.嵌入式DML:

嵌入在Pascal、C等宿主语言;

4.视图定义:

创建视图;

5.权限管理:

对关系和视图的访问进行授权;

6.完整性:

定义数据必须满足的完整性约束条件;

7.事务控制(datacontrol):

定义事务的开始、提交、和结束等。

背景知识:

scott用户所有的table的结构

EMPNO:

编号,number

ENAME:

姓名,varchar2

JOB:

职位,varchar2

MGR:

上级,number

HIREDATE:

雇佣日期,date

SAL:

工资number

COMM:

佣金number

DEPTNO:

部门代号number

DEPTNO:

部门代号number

DNAME:

部门名称varchar2

LOC:

部门位置varchar2

GRADE:

工资级别number

LOSAL:

该级别的最低工资number

HISAL:

该级别的最高工资number

简单查询

投影查询(projectselect)

语法:

SELECT[DISTINCT]*|表达式|列名别名,列名别名…FROM表名别名;

例:

SELECT*FROMemp;

例:

SELECT2+3FROMemp;

解释:

返回14行,原因是该表有14行数据,为了简便输出,我们使用dual表,dual是系统内置表,专门用来存放表达式数据,写法是:

SELECT2+3FROMdual;

例:

SELECT2+3RESULTFROMdual;

解释:

可以使用别名

问题:

显示所有员工的编号,职务和工资

例:

SELECTempno,job,salFROMemp;

问题:

显示所有员工的编号,职务和年薪

例:

SELECTempno,job,sal*12“salofyear”FROMemp;

解释:

字段可以参与表达式运算,“”一般不使用,当别名需要保持原始状态,需要加。

问题:

显示员工信息如下格式:

员工编号:

XXX员工姓名:

XXX员工工资:

XXX

例:

SELECT‘员工编号:

’||empno||’员工姓名:

’||ename||’员工工资:

’||sal员工信息FROMemp;

解释:

||代表两个字符串的合并

问题:

显示所有员工的岗位

例:

SELECTDISTINCTjobFROMemp;

解释:

DISTINCT用来去除重复项,重复项必须全部一致,

问题:

显示所有员工的姓名和岗位

例:

SELECTDISTINCTename,jobFROMemp;

解释:

DISTINCTC此处无意义

思考题:

如何显示所有员工的编号及入职年限?

选择查询(条件查询):

语法:

SELECT[DISTINCT]*|表达式|列名别名,列名别名…FROM表名别名WHERE条件(…);

条件可以是:

>、<、<=、>=、<>、!

=、=、ANY、ALL、BETWEEN…AND、IN、LIKE、ISNULL、AND、OR、NOT

NOT可以和LIKE、IN、BETWEEN、ISNULL联用

问题:

显示工资大于1500元员工资料

例:

SELECT*FROMempWHEREsal>1500;

问题:

显示工资不等于1500元员工资料

例:

SELECT*FROMempWHEREsal<>1500;

例:

SELECT*FROMempWHEREsal!

=1500;

例:

SELECT*FROMempWHERENOTsal=1500;

问题:

显示员工号小于7800且上级号大于7400的员工资料或工资大于1500元的员工资料

例:

SELECT*FROMempWHEREsal>1500ORempno<7800ANDmgr>7400;

解释:

AND比OR优先级高,比较表达式比AND和OR优先级高

问题:

显示所有有佣金的员工信息

例:

SELECT*FROMempWHEREcommISNOTNULL;

问题:

显示所有没有佣金的员工信息

例:

SELECT*FROMempWHEREcommISNULL;

解释:

NOT可以用于ISNULL条件之中,表示不为空

问题:

查询所有姓名以A开头的员工

例:

SELECT*FROMempWHEREenameLIKE‘A%’;

解释:

LIKE后可以加%或_,%代表任意多位字符_代表一位字符

问题:

查询所有姓名第二个字母是A的员工

例:

SELECT*FROMempWHEREenameLIKE‘_A%’;

问题:

查询所有姓名倒数第二个字母不是A的员工

例:

SELECT*FROMempWHEREenameNOTLIKE‘%A_’;

 

问题:

查询所有员工号在7500-7800的员工

例:

SELECT*FROMempWHEREempnoBETWEEN7500AND7800;

问题:

查询所有员工号不在7500-7800的员工

例:

SELECT*FROMempWHEREempnoNOTBETWEEN7500AND7800;

问题:

查询所有员工号可以是752176547700及7800的员工

例:

SELECT*FROMempWHEREempnoIN(7521,7654,7700,7800);

问题:

查询所有大于7499,7521,7654员工号的员工信息

例:

SELECT*FROMempWHEREempno>ALL(7499,7521,7654);

问题:

查询所有至少大于7499,7521,7654中的一个的员工号的员工信息

例:

SELECT*FROMempWHEREempno>ANY(7499,7521,7654);

解释:

ALL和ANY区别是:

ALL要比范围内最(大|小)的还要(大|小),ANY比范围内任意的还要(大|小)

结果的排序:

语法:

SELECT[DISTINCT]*|表达式|列名别名,列名别名…FROM表名别名WHERE条件(…)ORDERBY(ASC)DESC;

ASC升序,默认值,DESC降序

ORDERBY必须是整个SELECT语句的最后一个子句。

问题:

显示按工资的从高到底排序的员工信息

例:

SELECT*FROMempORDERBYsalDESC;

问题:

显示按工资的从高到底排序,如果工资一致,按照员工号从小到大排序的员工信息

例:

SELECT*FROMempORDERBYsalDESC,empnoASC;

问题:

显示按入职时间的从早到晚排序的员工信息

例:

SELECT*FROMempORDERBYhiredateASC;

解释:

时间比较是单纯的看时间的数字表示

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 起诉状

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2