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        --非第一个查询子句会报错

    如果这篇文章,对你有帮助,请点击关注,我会持续更新......
  • 相关阅读:
    Node.js Net 模块+DNS 模块
    php程序报500错误
    Node.js 工具模块-OS模块+path模块
    Node.js GET/POST请求
    Canvas动画+canvas离屏技术
    Python OS 模块
    Python random 模块
    Python time 模块
    Python 迭代器
    Python 生成器
  • 原文地址:https://www.cnblogs.com/-GoFurther/p/13735705.html
Copyright © 2011-2022 走看看