简单的查询语句

作者: 辽A丶孙悟空 | 来源:发表于2019-02-15 09:45 被阅读32次
    一、结构化查询语言
    • 结构化查询语言(Structured Query Language)简称SQL
      结构化查询语言是检索关系型数据库的标准语言,20世纪70年代由IBM公司开发,目前应用于各种关系型数据库。

    • SQL的发展

    -1974年首次提出,当时叫SEQUEL
    -1980年更名为SQL
    -1986年,ANSI定义关系数据库语言的标准,并公布了标准SQL
    -1992年,通过的修改标准SQL-92
    -1999年,发布SQL99标准
    -2003年,发布SQL2003标准

    二、结构化查询语言的分类
    • 数据查询语言(DQL:Date Query Language)

    语句主要包括SELECT,用于从表中检索数据

    • 数据操作语言(DML:Date Manipulation Language)

    语句主要包括INSERT,UPDATE,DELETE,用于添加,修改和删除表中的行数据

    • 事务处理语言(TPL:Transaction Process Language)

    语句主要包括COMMIT和ROLLBACK,用于事务的提交和回滚

    • 数据控制语言(DCL:Date Control Language)

    语句主要包括GRANT和REVOKE,用于授权和回收权限

    • 数据定义语言(DDL:Date Definition Language)

    语句主要包括CREATE、DROP、ALTER,用于定义、销毁、修改数据库对象

    三、基本SELECT语句
    • 基本SELECT语句的作用
    • 选择 主要体现在:在表中根据条件选择其中的某些整行的数据进行显示
    • 投影 主要体现在:在整个表中选择所有行的某些列进行数据的显示
    • 连接 主要体现在:不同的表之间的数据进行联合查询,并将数据进行显示
    • 基本SELECT语句的语法
    SELECT [DISTINCT]{*|column|expression….}
    FROM table;
       //SELECT字句  表示所需检索的数据列
       //FROM字句   表示检索的数据来自哪个表
    
    四、SQL概念和规则
    • SQL语句的相关概念
    • 关键字(KeyWord):
      SQL语言保留的字符串,例如,SELECT和FROM都是关键字。
    • 语句(statement):
      一条完整的SQL命令,例如,SELECT * FROM dept 是一条语句。
    • 子句(clause):
      部分的SQL语句,通常是由关键字加上其他的语法元素构成,例如,
      SELECT * 是一个字句,FROM table 也是一个字句。
    • SQL语句的书写规则
    • 不区分大小写,也就是说SELECT,select,Select,执行时效果是一样的。
    • 可以单行来书写,也可以书写多行,建议分多行书写,增强代码的可读性,通常以字句为单位进行多行书写。
    • 关键字不可以缩写、分开以及跨行书写,如SELECT不可以写成SEL或SELE CT等形式。
    • 关键字最好使用大写,其他语法元素(如列名,表名等)使用小写。
    • Tab和缩进的使用可以提高程序的可读性
    五、选择列
    • 选择所有列
    • 方式一:使用* 的方式
    SELECT * 
    FROM dept; 
    
    • 方式二:使用列名
    SELECT deptno,dname,loc 
    FROM dept;
    

    试着比较那种方式的效率更高?

    • 选择指定列
    • 选择指定列:就是指定需要查询表中的列名,如查询dept表中的dname和loc,
    SELECT dname,loc 
    FROM dept;
    
    六、算术运算符
    • 算术运算符的作用
    • 可以在SELECT语句中使用算术运算符,改变输出结果。
    • 算术运算符包括: + - * / 分别表示加减乘除
      例如:
    SELECT ename,sal,sal+300
    FROM emp;
    
    • 算术运算符的优先级
    • 乘除优先于加减
    • 相同优先权的表达式按照从左到右的顺序依次计算
    • 括弧可以提高优先权,并使表达式的描述更为清晰
      例如:
    SELECT ename,sal,12*sal+300
    FROM emp;
    
    • 使用括号改变优先级
    • 与正常数学中的运算相同,有括号先算括号里面的
      例如:
    SELECT ename,sal,12*(sal+300)
    FROM emp;
    
    七、空值NULL
    • 空值NULL
    • 空值是指表中无效的、未赋值、未知的或不可用的值。
    • 空值不等于零或者空格。
      例如:
    SELECT ename,job,sal,comm
    FROM emp;
    
    • 算术表达式中的空值NULL
    • 任何包含空值的算术表达式运算后的结果都为空值NULL。
      例如:
    SELECT ename,12*sal+comm
    FROM emp;
    
    八、列别名
    • 列别名
    • 用来重新命名列的显示标题
    • 如果SELECT语句中包含计算列,通常使用列别名来重新定义列标题
    • 使用列别名的方法
    • 方式1:列名 列别名
    • 方式2: 列名 AS 列别名
      例如:
    SELECT ename AS name,sal salary
    FROM emp;
    
    • 以下三种情况列别名两侧需要添加双引号
    • 列别名中包含有空格
    • 列别名中要求区分大小写
    • 列别名中包含有特殊字符
      例如:
    SELECT ename AS "Name",Sal*12 "Annual Salary"
    FROM emp;
    
    九、连接操作符
    • 用于连接列与列、列和字符串
    • 形式上是以两个竖杠||表示
    • 用于创建字符表达式的结果列
      例如:
    SELECT ename || job AS "Employees"
    FROM emp;
    
    十、原义字符串
    • 原义字符串的说明
    • 原义字符串是包含在SELECT列表中的一个字符、一个数字、或者一个日期。
    • 日期和字符字面值必须使用单引号引起来。
    • 每个原义字符串都会在每个数据行输出中出现
    • 原义字符串的使用

    例如:

    SELECT ename || 'is  a ' || job AS "Employee  Details"
    FROM emp;   
    
    十一、消除重复行
    • 重复行:以下查询结果默认输出所有行,其中包含了重复行

    例如:

    SELECT deptno
    FROM emp;      
      //查询结果中包含重复行
    
    • 消除重复行:在SELECT 子句中使用关键字DISTINCT可消除重复行。

    例如:

    SELECT DISTINCT deptno  
    FROM emp;
    
    十二、显示表结构
    • 在SQL*Plus中,可以使用DESCRIB 命令来查看表结构
    十三、SQL语句与SQL*PLUS命令的区别
    • SQL是关系型数据库的标准操作语言,而SQL*Plus是一个客户端工具,除了执行标准的SQL外,还可以执行工具本身的一写命令,比如登录等。
    • SQL语法不可以缩写,而SQL*PLUS命令可以缩写

    相关文章

      网友评论

        本文标题:简单的查询语句

        本文链接:https://www.haomeiwen.com/subject/bxaueqtx.html