create新建
drop删除
aleer修改
select查询
insert插入
update更新
delete删除
grant控制
revoke
Pluid
--right右链接
--left左链接
--full所有
--create新建
--drop删除
--aleer修改
--select查询
--insert插入
--update更新
--delete删除
--grant控制
--case事件
--else否则
--unional合并
select[all|distinct]<卡规表表达式>
whrer<条件表达式>
Groupby(分组排序)
having<条件表达
OrderBy排序ascDesc《升降》
单表查询
select*fromtCvsJhBo
select*fromtsalpludetal201005
selectRptDate,sum(Hxtotal)
fromtSalPludetail201207
wherePlucode='1001'
groupbyRptDate
havingsum(HxTotal)>200
orderbyRptDatedesc
查询商品编码,商品名称,单位,是否管理库存、保质期
条件商品大于等于2001并且小于3000
标准:
selectPluCode,PluName,Unit,IsKc,BzDays
fromtSkuPlu
wherePluCode>='2001'
andPluCode<'3000'
selectPluCode,PluName,Unit,DeCode(IsKc,1,'管理',0,'不管理','未知')asiskc,BzDays
fromtSkuPlu
wherePluCode>='2001'
andPluCode<'3000'
或
selectPluCode,PluName,Unit,caseIsKcwhen'1'then'管理库存'
when'0'then'不管理库存'
else'未知'endasiskc,BzDays
fromtSkuPlu
wherePluCode>='2001'
andPluCode<'3000'
DeCode显示
saiskc改了表名
自己写的(超难看)
selectplucode,pluname,unit,iskc,bzdaysfromtskuplu
whereplucode>=2001andplucode<3000
SELECT注意事项
小心空值
小心0值
石担的使用distinct
查询商品编码表
select*fromtSkuPlu
wherePluCodein('1001','1002','1006')
查询表中前10行
--Oracle
select*fromtSkuPluwhererownum<=10
--Sql
selecttop10*fromtskuplu
连接查询里的待值连接
--A表和B表对应后显示A表的名字和编码跟B表的对应地址
Selecta.Orgcode,a.orgname,b.address
fromtorgmanagea,tetpenterpriseb
wherea.orgcode=b.etpcode
selectA.Code,A.Totde,B.Name,
fromtest_Aa
rightJointest_BBonA.code=B.code
--创建Hs001表
createtableHs001
(IDvarchar2(10),
totalnumber(19,2))f
insertintoHs001(ID,total)values('01','100.23')
updateHs001settotal='200.02'wheretotalisnull
select*fromHs001forupdate
--查询实时销售流水号与历史销售流水号相同的流水
Select*FromtSalsale
where(Orgcode,Saleno)notin(SelectOrgcode,salenofromtsalsale201207)
--查询所有门店中201207历史销售流水中每天最早的笔销售流水
--asc升
--desc降
selectOrgcode,jzDateSaleNo,Xsdate
from(
selectorgcode,jzdate,saleno,xsdate,
rank()over(partitionbyorgcode,jzdateorderbyxsdateasc)asxsdate_desc
fromtsalsale201207
)
wherexsdate_desc='1'
SelectOrgCode,JzDate,SaleNo,XsDate
From(
SelectOrgCode,Jzdate,SaleNo,XsDate,
Rank()over(PartitionbyOrgCOde,JzdateOrderbyXsDateasc)asXsDatedesc
FromtSalsale201207
)
whereXsDatedesc='1'
--或
selectorgcode,jzdate,xsdate
fromtsalsale201207
where(orgcode,jzdate,xsdate)
in
(selectorgcode,jzdate,max(xsdate)asxsdate
fromtsalsale201207
groupbyorgcode,jzdate)