基本SQL-SELECT

SQL语句分为以下三种类型:

  • DML:Data manipulation Language数据操作语言
  • DDL:Data Definition Language数据定义语言
  • DCL:Data ControlLanguage数据控制语言
DML用于查询与修改数据记录,包括如下SQL语句:
  • INSERT:添加数据到数据库中
  • UPDATE:修改数据库中的数据
  • DELETE:删除数据库中的数据
  • SELECT:查询数据
    SELECT是SQL语言的基础,最为重要
DDL用于定义数据库中的结构。比如创建、修改或删除出具库对象,包括如下SQL语句:
  • CREATE TABLE:创建数据库表
  • ALTER TABLE:更改表结构、添加、删除、修改列长度
  • DROP TABLE:删除表
  • CREATE IINDEX:在表上建立索引
  • DROP INDEX:删除索引
DCL用来控制数据库的访问,宝库如下SQL语句:
  • GRANT:授予访问权限
  • REVOKE:撤销访问权限
  • COMMIT:提交事务处理
  • ROLLBACk:事务处理回退
  • SAVEPOINT:设置保存点
  • LOCK:对数据库的特定部分进行锁定
注意
  • SQL 语言大小写不敏感
  • SQL 可以写在一行或多行
  • 关键字不能被缩写也不能分行
  • 各子句一般要分行写。
  • 使用缩进提高语句的可读性
算数运算符

数字和日期使用的算术运算符
“+” 加
“-” 减
“*” 乘
“/” 除

操作符优先级

“*” “/” “+” “-”

  • 乘除的优先级高于加减。
  • 同一优先级运算符从左向右执行。
  • 括号内的运算先执行。
列的别名
  • 重命名一个列
  • 便于计算
  • 紧跟列名,也可以在列名和别名之间家关键字“AS”,别名使用双引号,以便于在别名中包含空格或特殊的字符并区分大小写
连接符
  • 把列与列,列与字符连接在一起
  • 用“||”表示
  • 可以用来“合成”列
    如:select last_name ||'`s email is'||eaail(他的email是:)


    图片.png
字符串
  • 字符串可以是SELECT列表中的一个字符,数字,日期
  • 日期和字符只能在单引号中出现
  • 每当返回一行时,字符串被输出一次
重复行

默认情况下,查询会返回全部行,包括重复行。
去除重复行命令:distinct
如 select distinct departmant_is from emplayees


图片.png
SQL和SQL*Plus的区别
SQL SQL*Plus
一种语言 一种环境
ANSI标准 Oracle的特性之一
关键字不能缩写 关键字可以缩写
使用语句控制数据库中的表的定义信 息和表中的数据 命令不能改变数据库中的数据的值
集中运行
SQL*Plus

使用SQL*Plus可以:

  • 描述表结构
  • 编辑SQL语句
  • 执行SQL语句
  • 将SQL保存在文件中并将SQL语句执行结果保存在文件中
  • 在保存的文件中执行语句
  • 将文本文件装入SQL*Plus编辑窗口
显示表结构

如:DESCRIBE employees


图片.png

第一章 基本SQL- SELECT语句

  • 对于日期型数据,做*,/运算不合法
  • 包含空值的数学表达式的值都为空值
  • 别名使用双引号
  • Oracle中连接字符串使用“||”,而不是Java中的“+”
  • 日期和字符只能在单引号中出现,输出last_name`s email EMAIL FROM employees
  • distinct 关键字,一下语法错误
    select last_name,distinct department_id from employees

练习

1、SQLPLUS命令可以控制数据库吗?不能
2、下面的语句是否可以执行成功
select last_name,job_id,salary as sal from employees
可以
3、下面的语句书否可以执行成功
select * from employees
可以 查询表中所有列
4、找出下面语句中的错误
select employee_id,last_name,salary
12 “ANNUAL SALARY” FROME employees;
标点符号需要是英文格式下的
5、显示表departments的结构,并查询其中的全部数据
desc department
select * from departments;
6、显示出来employees中的全部job_id(不能重复)
select distinct job_id from employees
7、显示出表employees的全部列,各个列之间用逗号连接,列头显示成OUT_PUT
SELECT employees_id ||','|| last_name||','||salary "OUT_PUT"
FROM employees

你可能感兴趣的:(基本SQL-SELECT)