当前位置:网站首页>OPENSQL快速学习
OPENSQL快速学习
2022-07-29 03:45:00 【月阴荒】
https://www.cnblogs.com/jiangzhengjun/p/4264698.html#_Toc410466920
SELECT , INSERT ,UPDATE , DELETE , MODIFY
SELECT SINGLE … INTO…WHERE/
INNER JOIN ,LEFT OUTER JION 使用限制
ON 后面的条件与WHERE条件类似,但是有以下不同
1.必需有ON条件语句,且多个条件之间只能使用AND连接
2.在每个条件表达式中,两个操作数之中必需有一个字段是来自于JOIN右表
3.如果是LEFT OUTER JOIN,则至少有一个条件表达式的两个操作数一个是来自于左表,一个时来自于右边
4.不能使用NOT,LIKE,IN(但如果是INNER JOIN,则> , < , BETWEEN … AND , <> 都可以使用)
5.如果是LEFT OUTER JOIN ,则只能使用等号操作符:( = , EQ)
6.如果是LEFT OUTER JOIN ,同一右表不能多次出现在不同的LEFT OUTER JOIN的 ON条件表达式中
7. LEFT OUTER JOIN 的右表所有字段不能出现在WHERE中
8. 如果是LEFT OUTER JOIN, 则在同一个ON 条件语句中,只能与同一个左表进行关联。
几个案例
*销售订单数据
SELECT vbeln,bstnk,kunnr,kvgr2 (vbeln为销售订单号,bstnk为客户参考号,kunnr为客户代号,kvgr2为品牌)
FROM vbak
FOR ALL ENTRIES IN @gt_so_inf
WHERE vbeln = @gt_so_inf_vbeln
INTO TABLE @DATA(lt_vbak).
SORT lt_vbak BY vbeln.
其中sort为排序的意思,以为lt_vak以vbeln为标准进行默认升序排序
For all entries in什么时候使用?
答:
1.对于不能join的表,使用for all entries in语句将数据库表域内表串联
for all entries in 类似于外连接的时候,为避免多次重复数据库查询,用内表的某一字段为条件,从数据库表中取得数据,
有一样的则选出,相当于过滤数据的作用
2.检查内表是否为空,如果为空,将取得全部数据
3.不能使用LIKE,BETWEEN 和IN(因为这些操作符都是不确定比较操作符(将选择条件设定在一个范围内))
FOR ALL ENTRIES IN 语句的作用相当于将选择条件块全部并列开来。
ABAP中FOR ALL ENTRIES IN 的使用指南
在ABAP开发中,对于不能使用join的聚集表或者需要使用SELECT的内表,我们一般使用for all entries in 语句将该表与内表串联,查询出需要的数据,例如;以BSEG聚集表为例,如下:
SELECT bseg~kunnr bseg~lifnr bseg~belnr INTO TABLE itab_bseg FROM bseg FOR ALL ENTRIES IN itab_main
WHERE bukrs in_bukrs and (belnr = itab_main-belnr AND hkont = itab_main-hkont).
由于BSEG不能和BSIS做inner join所以先将BSIS内容放到itab_main中,然后用FOR ALL ENTRIES IN 来串联
OPENSQL学习
1.SELECT语句
INTO语句的结果不是保存到内表,是字段或者结构体的时候,最后要加ENDSELECT语句,这种语句相当于LOOP循环中执行SELECT语句,每取出一条数据,就把它追加到结构体中,一直读取全部符合条件的数据为止。
*-------------使用结构体
*使用的结构体,因此使用SELECT ENDSELECT 语句
DATA: gs_zht6 TYPE STANDRAD TABLE OF ZHR_TRAIN_ZHT_1,
gs_zht7 TYPE ZHR_TRAIN_ZHT_1.
SELECT * INTO gs_zht7 FROM ZHR_TRAIN_ZHT_1
WHERE name EQ '周0'
WRITE : /gs_zht7-sex,
/gs_zht7-te1.
ENDSELECT.
*-------------使用内表
*使用了内表一次性保存所有的值,因此不存在ENDSELECT.
DATA: gs_zht9 TYPE STANDARD TABLE OF ZHR_TRAIN_ZHT_1,
gs_zht8 TYPE ZHR_TRAIN_ZHT_1.
SELECT * INTO TABLE gs_zht9 FROM ZHR_TRAIN_ZHT_1
WHERE name EQ '周0'.
LOOP AT gs_zht9 INTO gs_zht8.
WRITE: /gs_zht8-tel,
/gs_zht8-sex.
ENDLOOP.
边栏推荐
- Install the packet capturing certificate
- (2022杭电多校三)1002-Boss Rush(状压DP+二分)
- "The programming is not standardized, and my colleagues are in tears!"
- How fast does it take to implement a super simple language
- Batch production and upload sales NFT opensea eth polygon
- (codeforce547) c-mike and foam
- 向日葵远程控制为何采用BGP服务器?自动最优路线、跨运营商高速传输
- Sunflower senior product director technology sharing: "how to apply national remote control" in AD domain environment
- Deep into C language (3) -- input and output stream of C
- EMD 经验模态分解
猜你喜欢

(codeforce547)C-Mike and Foam(质因子+容斥原理)

新零售O2O 电商模式解析

Raft protocol - process demonstration

for_ Example of each usage

Shopify卖家:EDM营销就要搭配SaleSmartly,轻松搞定转化率

(2022杭电多校三)1011-Link is as bear(思维+线性基)

向日葵远程控制为何采用BGP服务器?自动最优路线、跨运营商高速传输

Why does the 20 bit address bus determine the storage space of 1MB

最新二开版漫画小说听书三合一完整源码/整合免签接口/搭建教程/带采集接口

RHCE的at,crontab的基本操作,chrony服务和对称加密和非对称加密
随机推荐
Functions and comparison of repeaters, hubs, bridges, switches and routers
exness:鸽派决议帮助黄金反弹,焦点转向美国GDP
Why is continuous integration and deployment important in development?
最新二开版漫画小说听书三合一完整源码/整合免签接口/搭建教程/带采集接口
EMD empirical mode decomposition
数字孪生实际应用案例-智慧能源篇
Since 2019, you must have stopped using this marketing strategy
Simple understanding of CDN, SDN and QoS
RTP 发送 和接收 h265
Alibaba Font Icon Library Usage and update methods
Realize multi-level linkage through recursion
CUB_200鸟类数据集关键点可视化
(newcoder 15079) irrelevant (inclusion exclusion principle)
Install the packet capturing certificate
RTP send and receive h265
深入C语言(4)——switch的定义与使用
【redis系列】字符串数据结构
for_each用法示例
【C语言入门】ZZULIOJ 1031-1035
Whole process record of yolov3 target detection