当前位置:网站首页>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.
边栏推荐
- three. JS Part 54 how to pass structure array to shader
- Understanding of p-type problems, NP problems, NPC problems, and NP hard problems in natural computing
- Rdkit I: using rdkit to screen the structural characteristics of chemical small molecules
- (2022杭电多校三)1002-Boss Rush(状压DP+二分)
- Cloudera manager platform fault repair record
- (nowcoder22529c) diner (inclusion exclusion principle + permutation and combination)
- I.MX6U-驱动开发-2-LED驱动
- Instance setup flask service (simple version)
- Various minor problems of jupyter notebook, configuration environment, code completion, remote connection, etc
- 1985-2020 (8 Editions) global surface coverage download and introduction
猜你喜欢
(newcoder 15079)无关(容斥原理)
1. Mx6u driver development-2-led driver
Batch production and upload sales NFT opensea eth polygon
消费行业数字化升级成 “刚需”,weiit 新零售 SaaS 为企业赋能!
I.MX6U-驱动开发-2-LED驱动
Whole process record of yolov3 target detection
KNN method predicts pregnancy, KNN principle simple code
CUB_200鸟类数据集关键点可视化
Various minor problems of jupyter notebook, configuration environment, code completion, remote connection, etc
Machine learning [numpy]
随机推荐
Overestimated test driven development?
I.MX6U-驱动开发-2-LED驱动
新零售O2O 电商模式解析
Why BGP server is used in sunflower remote control? Automatic optimal route and high-speed transmission across operators
Process tracking of ribbon principle
KNN method predicts pregnancy, KNN principle simple code
Notes on letter symbol marking of papers
5年多工作经验,工资给15k,要是你,你会接受吗?
Violence recursion to dynamic programming 01 (robot movement)
three.js 第五十四用如何给shader传递结构体数组
tron OUT_ OF_ ENERGY
Anaconda offline installation environment
2 neural network toolbox NN
最新二开版漫画小说听书三合一完整源码/整合免签接口/搭建教程/带采集接口
《陌路曾相逢》夏陌沈疏晏_夏陌沈疏晏最新章节
(2022 Hangdian multi school III) 1002 boss rush (pressure dp+ dichotomy)
Machine learning based on deepchem
Excel splicing database statement
1. Mx6u driver development-2-led driver
(2022 Hangdian multi school III) 1011 link is as bear (thinking + linear basis)