温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

MSSQL 超实用的几条常用命令

发布时间:2020-06-12 12:54:39 来源:网络 阅读:398 作者:笔下生辉 栏目:数据库

查询:

select * from 表名

select * from 表名 where 条件

select * from 表1,表2 where 表1字段=表2字段 [ and 条件2 ... ]


select 字段  from  表A  JOIN  表B ON 表A字段1=表B字段1 AND 表A字段2=表B字段2 ..... WHERE <条件> 可是是表A的,也可以表B的 


select  A.字段,B.字段  from  表1 A  JOIN  表2 B  ON A.字段1=B.字段1 AND A.字段2=B.字段2 ..... WHERE <条件> 可是是表1的,也可以表2的   --表名长时可以这种别名方法 进行简写.这里 表1简写成 A , 表2 简写成 B 。



select   FName   from   t_ICItem  where  FNumber in   (select   FNumber  from t_ICItem  where  FNumber  like  '3.%') 




####  join 可以换成以下几个 ######

join : 只显示A和B两表中都存在的记录

LEFT OUTER JOIN: 只要A表中有记录,则都显示出来,如果B表中没有对应的值则赋值为NULL

FULL join : 显示A/B两表的所有记录,对应表中没有值时赋值为NULL.

inner join: 跟 JOIN 相同功效




SELECT  A.字段,B.字段,C.字段  FROM  表1 A(表1别名)  LEFT JOIN 表2 B(表2别名) ON A.字段=B.字段  LEFT JOIN 表3  C(表2别名) ON A.字段=C.字段   [where 条件]  


--用A,B,C,分别代替表1,表2,表3,达到简写的目的,再分别从三个表中取一个字段


对数据表进行复制:


先新建一个和目标数据表结构一样的新建;再执行

insert into 新表 as select * from 旧表


更新:


update  表名  set 字段名='新值' where 条件

update  表名  set 字段名='新值' where 条件1 and 条件2

update  表名  set 字段名='新值' from 表1,表2 where 表1字段=表2字段 [ and 条件2 ... ]  


delete


delete from  表名  where 条件

delete from  表名  from 表1,表2 where 表1字段=表2字段 [ and 条件2 ... ]

delete     表名  where 字段1='值' and 字段1 in ( select 字段1 from 表2 where 条件2 [...] ) 


------------------------------------------------------------------------------------------------------------------------------------------------在查询中进行运算--------------------------------------------------------------------------------------------------------------------------------------------------

select 物料表.FNumber 物料代码,物料表.FName 物料名称,采购订单.FBillNo 订单号,采购分录表.FMrpClosed 业务行关闭,采购分录表.FQty,采购分录表.fnote 备注,

(采购分录表.FQty-ISNULL(采购分录表.FStockQty,0)) AS 未交数量



from POOrder 采购订单,POOrderEntry 采购分录表,t_ICItem 物料表 


where 物料表.FItemID=采购分录表.FItemID  and 采购订单.FInterID=采购分录表.FInterID and 采购订单.FClosed =0 and  采购分录表.FMrpClosed ='0' 

and 采购分录表.FMrpClosed='0' and FQty-ISNULL(采购分录表.FStockQty,0) != 采购分录表.fqty --查询未关闭的采购订单



说明:(采购分录表.FQty-ISNULL(采购分录表.FStockQty,0)) AS 未交数量   --这是字段

  1. 先用采购分录表的数量-采购分录表已入库的数量,并以“未交数量”列显示出来。

  2. ISNULL():函数,当 采购分录表.FStockQty 的值为NULL 时,替换为数值0,否则报错,并无法运算。

  3. 引用时不能引用 AS 的新列,而要是引用之前的整个“运算内容”:FQty-ISNULL(采购分录表.FStockQty,0)



向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI