数据库基础

数据库SQL语言

DML:数据操纵语言

《1》基本的SELECT语句

  • SELECT:标识选择哪些列。

  • FROM :标识从哪个表中选择。

    SELECT employee_id, last_name,salary
    FROM employees;
    
  • 选择全部列

    SELECT *
    FROM employess
    
  • 选择特定的列

    SELECT employee_id, last_name
    FROM employees;
    
  • 注 意

  • SQL 语言大小写不敏感。

  • SQL 可以写在一行或者多行

  • 关键字不能被缩写也不能分行

  • 子句一般要分行写。

  • 使用缩进提高语句的可读性。


  • 列的别名

  • 列的别名设置:SQL中给列起别名时,可以直接空格赋值,也可以使用关键字AS,加“”都可以。

    注意如果列名中间有空格 s s, 则需要双引号括起来
    SELECT employee_id id, last_name "name",salary AS sal, salary*12(1+commission_pct) sa
    FROM employees;
    
  • 字符串

    1. 日期和字符只能在单引号中出现。
    2. 每当返回一行时,字符串被输出一次。
  • 显示表结构

    1. 使用 DESCRIBE 命令,表示表结构
    2. DESCRIBE employees;

《2》过滤和排序

  • 在查询中过滤行
  1. 使用WHERE 子句,将不满足条件的行过滤掉。
  2. WHERE 子句紧随 FROM 子句
SELECT	salary
FROM	employees;
WHERE	salary>8000
-------------------
SELECT employee_id, last_name, job_id, department_id
FROM   employees
WHERE  department_id = 90 ;
  • 比较运算
操作符 含义
= 等于 (不是 ==)
> 大于
>= 大于、等于
< 小于
<= 小于、等于
<> 不等于 (也可以是 !=)

赋值使用 := 符号

SELECT last_name, salary
FROM   employees
WHERE  salary <= 3000;
  • 其它比较运算

    操作符 含义
    BETWEEN…AND… 在两个值之间 (包含边界)
    IN(set) 等于值列表中的一个
    LIKE 模糊查询
    IS NULL 空值
    IS NOT NULL 非空
  • BETWEEN:使用 BETWEEN 运算来显示在一个区间内的值

    SELECT last_name, salary
    FROM   employees
    WHERE  salary BETWEEN 2500 AND 3500;
    
  • IN:使用 IN运算显示列表中的值

    SELECT employee_id, last_name, salary, manager_id
    FROM   employees
    WHERE  manager_id IN (100, 101, 201);
    
  • LIKE:

    1. 使用 LIKE 运算选择类似的值
    2. 选择条件可以包含字符或数字:
    3. % 代表零个或多个字符(任意个字符)。
    4. _: 代表一个字符。
    SELECT	first_name
    FROM 	employees
    WHERE	first_name LIKE 'S%';
    
  • LIKE :‘%’和‘_’可以同时使用

    • **ESCAPE:**回避特殊符号的:使用转义符。例如:将[%]转为[ %]、[_]转为[ _],然后再加上[ESCAPE ‘$’] 即可。
    • 如果使用\表示转义,要省略escape。如果不是\,则要加上escape
  • NULL:使用 IS (NOT) NULL 判断空值。

    SELECT last_name, manager_id
    FROM   employees
    WHERE  manager_id IS NULL;
    
  • 逻辑运算
    在这里插入图片描述

  • AND: 要求并的关系为真。

    SELECT employee_id, last_name, job_id, salary
    FROM   employees
    WHERE  salary >=10000
    AND    job_id LIKE '%MAN%';
    
  • OR:要求或关系为真

    SELECT employee_id, last_name, job_id, salary
    FROM   employees
    WHERE  salary >= 10000
    OR     job_id LIKE '%MAN%';
    
  • NOT

    SELECT last_name, job_id
    FROM   employees
    WHERE  job_id 
           NOT IN 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值