zoukankan      html  css  js  c++  java
  • SQL-JOIN-联表的删改

    JOIN(内连接:INNER JOIN,INNER可省略):将多个表水平连接,如果一个表比另一个表多一行数据,那么多出的那行数据不会显示;

    SELECT *FROM Student s    --给别名

    JOIN City c                             --给别名

    ON s.FromCityId=c.Id            --连接条件

    外连接:

    左外连接(LEFT):左边所有行保留,右边没有对应的值时,以Null填充;

    右外连接(RIGHT):右边所有行保留,左边没有对应的值时,以Null填充;

    全连接(FULL):左右两边都保留,没有值的地方以NULL填充;

    SELECT*FROM Student s

    LEFT JOIN City c               --可更改为右外连接和全外连接

    ON s.FromCityId=c.Id        --连接条件

    联表的删/改:FROM...JOIN..ON

    DELETE Student SET Score+=5      --保留划线的代码,就是来自北京的同学,成绩加5分

    FROM Student s JOIN Address a ON s.FromCityId=a.Id

    WHERE s.FromProvince=N'北京'

    UNION:将多个查询结果纵向连接,只要查询结果的数量,顺序相同,且每列的数据类型兼容;

    SELECT [Name],N'科目',Score FROM Student     --添加一个列(N'科目'),以对齐Exam

    UNION                                    --没有添加ALL,会清除重复行

    SELECT [UserName],Subject,Score FROM Exam     

    ORDER BY [Name]              --列名以第一个查询子句为准

    ORDER BY UserName        --非第一个查询子句会报错

    如果这篇文章,对你有帮助,请点击关注,我会持续更新......
  • 相关阅读:
    day10_发送邮件终极版
    day10_发送带附件的邮件
    day10_发送普通邮件
    day10_多线程性能测试
    day10_虚拟环境和搭建测试环境的步骤
    codeforces 877B
    codeforces 982C Cut 'em all! (dfs)
    洛谷P1171 售货员的难题 dp
    点集配对问题
    codeforces 891A Pride (数学)
  • 原文地址:https://www.cnblogs.com/-GoFurther/p/13735705.html
Copyright © 2011-2022 走看看