博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle学习笔记1——SQL 初步、基本 SQL
阅读量:3941 次
发布时间:2019-05-24

本文共 2563 字,大约阅读时间需要 8 分钟。

SQL语句分类

  • DMLData Manipulation Language 数据操纵语言,用于查询与修改数据记录,包括如下SQL语句:
    - INSERT:添加数据到数据库中
    - UPDATE:修改数据库中的数据
    - DELETE:删除数据库中的数据
    - SELECT:选择(查询)数据
  • DDLData Definition Language 数据定义语言,用于定义数据库的结构,比如创建、修改或删除数据库对象,包括如下SQL语句:
    - CREATE TABLE:创建数据库表
    - ALTER TABLE:更改表结构、添加、删除、修改列长度
    - DROP TABLE:删除表
    - CREATE INDEX:在表上建立索引
    - DROP INDEX:删除索引
    注意:DDL无法ROLLBACK回滚。
  • DCLData Control Language 数据控制语言,用来控制数据库的访问,包括如下SQL语句:
    - GRANT:授予访问权限
    - REVOKE:撤销访问权限
    - COMMIT:提交事务处理
    - ROLLBACK:事务处理回退
    - SAVEPOINT:设置保存点
    - LOCK:对数据库的特定部分进行锁定

基本SQL

标点符号需要是英文格式下的。

select语句

SELECT *|{
[DISTINCT] column|expression [alias],...} FROM table;
  • SELECT 标识选择哪些列。
  • FROM 标识从哪个表中选择。
  • SQL 语言大小写不敏感
  • SQL 可以写在一行或者多行。
  • 关键字不能被缩写也不能分行
  • 各子句一般要分行写。
  • 使用缩进提高语句的可读性。

运算符

  • 数字日期使用的算术运算符:+ - * /
  • 乘除的优先级高于加减。同一优先级运算符从左向右执行。括号内的运算先执行。
  • 赋值使用:=符号
  • 比较运算符:=等于、>大于、>=大于等于、<小于、<=小于等于、<>!=不等于。
  • 其他比较运算符:
    - BETWEEN … AND … 在两个值之间(包含边界)
    - IN(set) 等于值列表中的一个
    - LIKE 模糊查询
    - IS NULL 空值
  • LIKE选择条件可以包含字符或数字:
    - % 代表零个或多个字符(任意个字符)
    - _ 代表一个字符
    - %-可以同时使用
    - 可以使用 ESCAPE 标识符 选择%_符号
  • ESCAPE:是回避特殊符号的:使用转义符。例如:将%转为\%_转为\_,然后再加上ESCAPE ‘\’ 即可
  • NULL:使用 IS (NOT) NULL 判断空值
SELECT last_nameFROM employeesWHERE last_name LIKE '_o%';
SELECT job_idFROM jobsWHERE job_id LIKE 'IT\_%' ESCAPE '\';
SELECT last_name,manager_idFROM employeesWHERE manager_id IS NULL;
  • 运算符优先级:
优先级 运算符
1 算术运算符
2 连接符
3 比较符
4 IS [NOT] NULL,LIKE,[NOT] IN
5 [NOT] BETWEEN
6 NOT
7 AND
8 OR

空值

空值即为空。空值是无效的,未指定的,未知的或不可预知的值。空值不是空格或者0。

包含空值的数学表达式的值都为空值

列的别名

目的是重命名,简化名称,方便计算。方式如下:

紧跟列名

SELECT last_name,commission_pct comm FROM employees;

as

SELECT last_name AS name,commission_pct comm FROM employees;

" "

SELECT last_name "Name",salary*12 "Annual Salary" FROM employees;

别名使用双引号

连接符 ||

把列与列,列与字符连接在一起,可以用来“合成”列。相当于Java中的“+”。

SELECT last_name || job_id AS "Employees" FROM employees;

在这里插入图片描述

字符串

  • 字符串可以是 SELECT 列表中的一个字符,数字,日期。
  • 日期字符只能在单引号中出现。
  • 字符串大小写敏感
  • 日期格式敏感,默认的日期格式是DD-MON月-RR。
  • 每当返回一行时,字符串被输出一次。
SELECT last_name || ' is a ' || job_idAS "Employee Details"FROM employees;

在这里插入图片描述

去重DISTINCT

默认情况下,查询会返回全部行,包括重复行。在 SELECT 子句中使用关键字 ‘DISTINCT’ ,可以删除重复行。

SELECT DISTINCT department_idFROM employees;

显示表结构DESCRIBE

DESC[RIBE] tablename

过滤WHERE

使用WHERE 子句,将不满足条件的行过滤掉。

WHERE 子句紧随 FROM 子句。

SELECT *|{
[DISTINCT] column|expression [alias],...}FROM table[WHERE condition(s)];

排序ORDER BY

ASC升序;DESC降序。

ORDER BY子句在SELECT语句的结尾。

可以使用不在SELECT 列表中的列排序

SELECT last_name,job_id,department_id,hire_dateFROM employeesORDER BY hire_date DESC;

按别名排序:

SELECT employee_id,last_name,salary*12 annsalFROM employeesORDER BY annsal;

多个列排序:

SELECT last_name,department_id,salaryFROM employeesORDER BY department_id,salary DESC;

转载地址:http://fgiwi.baihongyu.com/

你可能感兴趣的文章
3.7.1 - Strings
查看>>
3.7.4 - Indexing and Slicing Strings
查看>>
3.7.5 - Modifying Strings
查看>>
3.7.6 - String Methods
查看>>
3.8 - Using the Print Function
查看>>
3.9.1 - Lists in Python
查看>>
3.9.2 - Lists - Adding and Removing Objects
查看>>
3.9.3 - Sorting Lists
查看>>
3.10 - Maya Commands: ls
查看>>
3.11 - Dictionaries in Python
查看>>
3.12 - Tuples in Python
查看>>
4.4 - For Loops
查看>>
4.2.2 - Logical and/or Operators
查看>>
Lesson 4 Part 2 Softmax Regression
查看>>
文章中运用到的数学公式
查看>>
Projective Dynamics: Fusing Constraint Projections for Fast Simulation
查看>>
从2D恢复出3D的数据
查看>>
glm 中 数据类型 与 原始数据(c++ 数组)之间的转换
查看>>
Derivatives of scalars, vector functions and matrices
查看>>
the jacobian matrix and the gradient matrix
查看>>