• sql小总结


    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------  

    inner join 和join 是一个意思..

    "Persons" 表:

    Id_PLastNameFirstNameAddressCity
    1 Adams John Oxford Street London
    2 Bush George Fifth Avenue New York
    3 Carter Thomas Changan Street Beijing

    "Orders" 表:

    Id_OOrderNoId_P
    1 77895 3
    2 44678 3
    3 22456 1
    4 24562 1
    5 34764 65

    join----->此时发现order表中存有person的主键,在进行join时,只要在orders表中有匹配就会返回数据行。

    left join ---->LEFT JOIN 关键字会从左表 (Persons) 那里返回所有的行,即使在右表 (Orders) 中没有匹配的行。跟join的区别是,

           除了返回join的数据(只要有匹配就可以),还要返回没匹配的左表的数据。

    right join ---->RIGHT JOIN 关键字会从右表 (Orders) 那里返回所有的行,即使在左表 (Persons) 中没有匹配的行。跟join的区别是,

           除了返回join的数据(只要有匹配就可以),还要返回没匹配的右表的数据。

    FULL JOIN 关键字会从左表 (Persons) 和右表 (Orders) 那里返回所有的行。如果 "Persons" 中的行在表 "Orders" 中没有匹配,

            或者如果 "Orders" 中的行在表 "Persons" 中没有匹配,这些行同样会列出。跟join的区别是,

           除了返回join的数据,再返回(左表未匹配的数据+右表未匹配的数据)

    可以看除条数的关系(left join+ right join -join) = full join;

    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------

    UNION 操作符用于合并两个或多个 SELECT 语句的结果集。用途记得:合并结果集

    SELECT E_Name FROM Employees_China
    UNION
    SELECT E_Name FROM Employees_USA
    注意两张表取的column要一致,

    UNION取的是不重复数据,UNION ALL取的是重复数据..

    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------

    select into 用于创建数据表的备份...---------------------------------->经测试发现这个语句会报错,不知道正确的到底怎么写?

    SELECT *
    INTO new_table_name [IN externaldatabase] 
    FROM old_tablename
    ------------------------------------------------------------------------------------------------------------------------------------------------
    like操作符

    举例说明:select * from person p where p.name like '%youpeng%';------------------->%

         select * from person p where p.nake  like '_youpeng';----------------------->第一个字符任意匹配,后面的必须是youpeng

         select * from person p where p.name like '[A,B,S]%';------------------------>第一个字符必须是A或者B或者S,后面执行任意匹配。

         select * from person p where p.name like '[!A,B,S]%';------------------------>第一个字符不能是A或者B或者S,后面执行任意匹配。

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------

    between操作符

         操作符 BETWEEN ... AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。

         注意:不同的数据库对between的处理不相同,尤其是对边界值的处理,需要注意一下。

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------

    sql建表语句

      

        示例sql:          CREATE TABLE Persons

              (
                 Id_P int,
                 LastName varchar(255),
                  FirstName varchar(255),
                  Address varchar(255),
                  City varchar(255)
              )
      
    
    
  • 相关阅读:
    Sqlserver中一直在用又经常被忽略的知识点一
    PowerDesigner从Sqlserver中反转为带注释的字典及快捷键操作
    10.5 搜索的优化版
    每篇半小时1天入门MongoDB——1. MongoDB介绍和安装
    ASP.NET MVC搭建项目后台UI框架—11、自动加载下拉框查询
    Web项目从Oracle转为Mysql,fluentnhibernate-1.0和NHibernate2.1.0升级到NHibernate3.3的注意事项
    Mysql性能优化三(分表、增量备份、还原)
    Mysql性能优化二
    Mysql性能优化一
    Redis主从复制
  • 原文地址:https://www.cnblogs.com/lovebaoqiang/p/4075795.html
Copyright © 2020-2023  润新知