查询:
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 未交数量 --这是字段
先用采购分录表的数量-采购分录表已入库的数量,并以“未交数量”列显示出来。
ISNULL():函数,当 采购分录表.FStockQty 的值为NULL 时,替换为数值0,否则报错,并无法运算。
引用时不能引用 AS 的新列,而要是引用之前的整个“运算内容”:FQty-ISNULL(采购分录表.FStockQty,0)