• SQL语言(二)


    SQL约束与策略

    create table student(
      id int  primary key,   //主键约束
      name varchar(200)  not null,  //非空约束
      idCard varchar(50) unique,    //唯一性约束
      age  int  auto_increment,   //自动增长策略
      add foreign key(category_id) references category(id)//外键约束
    )

    多表操作

    多表关系
            一对一
            多对多
            多对一
    实践:省和市
        CREATE TABLE province(
        id INT PRIMARY KEY,
        NAME VARCHAR(20),
        description VARCHAR(20)
        );
        CREATE TABLE city(
        id INT PRIMARY KEY,
        NAME VARCHAR(20),
        description VARCHAR(20)
            add foreign key(id) references province(id);     
        );

    多表查询

    内连接
            select   *   from   A a,B b  where a.字段 = b.字段;
    外连接
            以左表数据为基准,匹配右表,如果匹配到,将数据显示,如果匹配不    
            到,右表中的数据显示null
            select  *  from  A  left  join  B  on  条件
            以右表数据为基准,匹配左表,如果匹配到,将数据显示,如果匹配不    
            到,左表中的数据显示null
            select  *  from  A  right   join  B  on  条件
    自连接
            查询出工资比小胡高的员工的姓名和工资
            SELECT e1.name,e1.salary FROM emp e1,emp e2 WHERE     
            e1.salary>e2.salary AND e2.name='小胡'
    子查询    
            子查询的结果是一个值的时候
                Select * from emp where salary<(select avg(salary) from emp)
            子查询结果是单列多行的时候
                查询工资大于5000的员工,来自于哪些部门的名字
            放在from后面的子查询叫做内建视图
    我凝视这恒星,等待这那场风暴,我已经准备好了
  • 相关阅读:
    APIO2018 题解
    【THUWC2017】在美妙的数学王国中畅游(bzoj5020)
    【bzoj3270】博物馆
    【库存】NOI笔试习题集
    装饰器
    异常
    类的详解
    函数
    流程控制
    运算符
  • 原文地址:https://www.cnblogs.com/cheng5350/p/11466363.html
Copyright © 2020-2023  润新知