首页 > 数据库 >SAP入门技术分享三:OPEN SQL

SAP入门技术分享三:OPEN SQL

时间:2023-01-26 15:02:33浏览次数:39  
标签:语句 JOIN OPEN 使用 WHERE SQL SAP 数据


OPEN SQL

  • ​​1. 概要​​
  • ​​(1)R/3体系结构​​
  • ​​(2)SQL定义​​
  • ​​(3)OPEN SQL经常使用的命令​​
  • ​​2. OPEN SQL​​
  • ​​(1)SELECT 语句​​
  • ​​(2)INTO语句​​
  • ​​3. FROM语句​​
  • ​​(1)选择静态表,用AS指定别名​​
  • ​​(2)选择动态表,表名要是大写字母​​
  • ​​(3)JOIN语句,用于多表连接​​
  • ​​(4)UP...TO...语句,限制查询个数​​
  • ​​4. WHERE语句​​
  • ​​(1)WHERE条件语句​​
  • ​​(2)Interval条件-范围​​
  • ​​(3)字符串比较-LIKE语句​​
  • ​​(4)LIST VALUE-IN语句​​
  • ​​(5)SELECTION TABLE​​
  • ​​(6)动态条件​​
  • ​​(7)FOR ALL ENTRIES语句​​
  • ​​5. GROUPING-GROUP BY语句​​
  • ​​6. SORT-ORDER BY语句​​
  • ​​(1)根据关键字排序​​
  • ​​(2)ASCENDING | DESCENDING指定升序/降序排序​​
  • ​​7. SORT-ORDER BY语句​​
  • ​​(1)Scalar Subquery​​
  • ​​(2)Non-scalar Subquery​​
  • ​​8. 数据修改-INSERT语句​​
  • ​​(1)一条数据​​
  • ​​(2)多条数据​​
  • ​​9.数据修改-UPDATE语句​​
  • ​​(1)一条数据​​
  • ​​(2)多条数据​​
  • ​​10.数据修改-DELETE语句​​
  • ​​(1)一条数据​​
  • ​​(2)多条数据​​
  • ​​11.数据修改-MODIFY语句​​
  • ​​(1)一条数据​​
  • ​​(2)多条数据​​

1. 概要

(1)R/3体系结构

SAP入门技术分享三:OPEN SQL_mysql

(2)SQL定义

  定义:Structured Query Language,ABAP的OPEN SQL里只允许使用DML语言。

SAP入门技术分享三:OPEN SQL_sql_02


SAP入门技术分享三:OPEN SQL_sql_03

(3)OPEN SQL经常使用的命令

SAP入门技术分享三:OPEN SQL_数据_04


SY-SUBRC返回成功与否,SY-DBCNT返回数据的个数。

2. OPEN SQL

SAP入门技术分享三:OPEN SQL_mysql_05

(1)SELECT 语句

SAP入门技术分享三:OPEN SQL_mysql_06


当查询一条数据时:

SAP入门技术分享三:OPEN SQL_数据_07


当查询多条数据时:

SAP入门技术分享三:OPEN SQL_mysql_08


INTO保存到字段或者结构体时,相当于在LOOP循环中执行SELECT语句:

SAP入门技术分享三:OPEN SQL_数据库_09


AS指定别名:

SAP入门技术分享三:OPEN SQL_sql_10


动态SELECT语句:

SAP入门技术分享三:OPEN SQL_mysql_11

(2)INTO语句

查询一条数据:

  使用结构体,用CORRESPONDING FIELDS OF语句会自动找到相同字段名匹配赋值。

SAP入门技术分享三:OPEN SQL_SQL_12


查询多条数据:

  往内表插入数据时用APPENDING,不能使用INTO。

SAP入门技术分享三:OPEN SQL_mysql_13


PACKAGE SIZE:指定每次追加到内表里的数据件数,需要使用ENDSELECT语句。

Single Field

SAP入门技术分享三:OPEN SQL_sql_14


3. FROM语句

  用FROM语句指定要查询数据的相应数据库表(或视图)。

SAP入门技术分享三:OPEN SQL_SQL_15


SAP入门技术分享三:OPEN SQL_数据_16

(1)选择静态表,用AS指定别名

SAP入门技术分享三:OPEN SQL_mysql_17

(2)选择动态表,表名要是大写字母

SAP入门技术分享三:OPEN SQL_数据_18

(3)JOIN语句,用于多表连接

SAP入门技术分享三:OPEN SQL_数据库_19


使用JOIN语句时若不指定JOIN类型,则默认是INNER JOIN。

分类:INNER JOIN

OUTER JOIN

LEFT JOIN

RIGHT JOIN

(4)UP…TO…语句,限制查询个数

SAP入门技术分享三:OPEN SQL_sql_20



4. WHERE语句

(1)WHERE条件语句

SAP入门技术分享三:OPEN SQL_sql_21


SAP入门技术分享三:OPEN SQL_sql_22

(2)Interval条件-范围

  需要在条件中追加范围值时使用此语句。

SAP入门技术分享三:OPEN SQL_mysql_23

(3)字符串比较-LIKE语句

  比较字符串时使用LIKE语句。

SAP入门技术分享三:OPEN SQL_SQL_24

(4)LIST VALUE-IN语句

  使用IN语句可以取得符合多种情况的数据。

SAP入门技术分享三:OPEN SQL_数据_25

(5)SELECTION TABLE

  使用IN语句可以查询存储在Selection Table,Range变量里的数据。

SAP入门技术分享三:OPEN SQL_mysql_26

(6)动态条件

  可以动态地写SELECT语句的WHERE条件。

SAP入门技术分享三:OPEN SQL_数据_27

(7)FOR ALL ENTRIES语句

  用FOR ALL ENTRIES语句连接内表。

SAP入门技术分享三:OPEN SQL_数据库_28


SAP入门技术分享三:OPEN SQL_SQL_29


SAP入门技术分享三:OPEN SQL_mysql_30


5. GROUPING-GROUP BY语句

  主要用于使用Aggregate函数前分组用GROUP BY语句进行分组。

SAP入门技术分享三:OPEN SQL_mysql_31


SAP入门技术分享三:OPEN SQL_数据库_32


  HAVING语句是用GROUP BY语句时的查询条件。

SAP入门技术分享三:OPEN SQL_mysql_33


注:GROUP BY之后需要写入除了聚合函数之外的所有其他字段。最后结果的数量是分组的数量。

6. SORT-ORDER BY语句

(1)根据关键字排序

SAP入门技术分享三:OPEN SQL_SQL_34

(2)ASCENDING | DESCENDING指定升序/降序排序

SAP入门技术分享三:OPEN SQL_SQL_35


7. SORT-ORDER BY语句

(1)Scalar Subquery

  用于在WHERE语句中追加特殊条件,只能指定一个字段。

SAP入门技术分享三:OPEN SQL_SQL_36


SAP入门技术分享三:OPEN SQL_mysql_37


SAP入门技术分享三:OPEN SQL_SQL_38

(2)Non-scalar Subquery

  当存在Subquery查询的数据时返回TRUE,不存在时返回FALSE,使用EXISTS语句实现。

SAP入门技术分享三:OPEN SQL_sql_39


8. 数据修改-INSERT语句

(1)一条数据

  往数据库表中追加一行数据时使用的语句。

SAP入门技术分享三:OPEN SQL_数据库_40


  若想使用INSERT 语句,要事先以TABLES:形式定义结构体。

SAP入门技术分享三:OPEN SQL_SQL_41

(2)多条数据

  往数据库表中一次性插入内表的所有值,由于插入相同主键的数据时会发生语法错误,因此要使用ACCEPTING DUPLICATE KEYS语句。

SAP入门技术分享三:OPEN SQL_sql_42


9.数据修改-UPDATE语句

(1)一条数据

  往数据库表中修改一行数据时使用的语句。

SAP入门技术分享三:OPEN SQL_mysql_43


  若想使用UPDATE 语句,要事先以TABLES:形式定义结构体。

SAP入门技术分享三:OPEN SQL_mysql_44

(2)多条数据

  往数据库表中修改多行数据时使用的语句。

SAP入门技术分享三:OPEN SQL_sql_45


  可以用UPDATE SET 字段1 字段2的形式修改指定字段。

SAP入门技术分享三:OPEN SQL_sql_46


10.数据修改-DELETE语句

(1)一条数据

  往数据库表中删除一行数据时使用的语句。

SAP入门技术分享三:OPEN SQL_SQL_47


  若想使用DELETE 语句,要事先以TABLES:形式定义结构体。

SAP入门技术分享三:OPEN SQL_SQL_48

(2)多条数据

  可以一次性删除内表中符合WHERE条件的所有值。

SAP入门技术分享三:OPEN SQL_数据库_49


11.数据修改-MODIFY语句

SAP入门技术分享三:OPEN SQL_数据_50

(1)一条数据

  往数据库表中插入/更新一条数据时使用的语句。

SAP入门技术分享三:OPEN SQL_数据库_51


  若想使用MODIFY 语句,要事先以TABLES:形式定义结构体。

SAP入门技术分享三:OPEN SQL_数据_52

(2)多条数据

  可以一次性修改或追加内表的所有值。

SAP入门技术分享三:OPEN SQL_SQL_53



标签:语句,JOIN,OPEN,使用,WHERE,SQL,SAP,数据
From: https://blog.51cto.com/u_15493735/6023562

相关文章

  • SQL注入实战系列之sqli靶场第一关
    1.http://192.168.1.223/sqli/Less-1/  2.http://192.168.1.223/sqli/Less-1/?id=1,链接后面添加?id=1  3.http://192.168.1.223/sqli/Less-1/?id=1',id=1后面加个......
  • Openstack Horizon and Django Compare the Working of authentication (Login)
    ​​http://fosshelp.blogspot.com/2014/01/openstack-horizon-and-django-compare.html​​copy:Workingofauthentication(Login)indjango===========================......
  • MySQL
    MySQL概述数据库相关概念数据库:存储数据的仓库,数据时有组织的进行存储,简称DataBase(DB)数据库管理系统:操纵和管理数据库的大型软件,简称DataBaseManagementSystem(DBM......
  • SQL Server 2000 函数使用---CAST 和 CONVERT
    将某种数据类型的表达式显式转换为另一种数据类型。CAST和CONVERT提供相似的功能。语法使用CAST:CAST(expressionASdata_type)使用CONVERT:CONVERT(data_type[(le......
  • mysqldump最佳实践(2)
    ​导入存储过程、函数和触发器默认情况下,mysqldump导入视图和触发器。但是,它不导入过程、函数和事件。要导入过程和函数,应该指定--routines选项,要导入事件,应该指定--event......
  • Compile Sqlite3 Executable, Static Library, and Shared Library on Linux
    DownloadSqlite3sourcecode,anddecompressittosomewhere.Enterthedecompressedfolder,typethefollowingcommandtogeneratedifferenttargetswithall......
  • Day03 - 事务索引查询及PyMySQL
    1.将查询结果插入到另一张表中思考目前只有一个goods表,我们想要增加一个商品分类信息,比如:移动设备这个分类信息,只通过goods表无法完成商品分类的添加,那么如何实现添加......
  • Day02 - MySQL的条件查询
    1.聚合函数聚合函数的介绍聚合函数又叫组函数,通常是对表中的数据进行统计和计算,一般结合分组(groupby)来使用,用于统计和计算分组数据。常用的聚合函数:1.count(co......
  • sqlserver事务日志太大的原因
    数据库的日志文件sqlserver的数据库日志文件是事务日志文件,记录了所有数据库的事务和修改,包含在数据库上的增、删、改操作信息。如果日志文件满了,会报9002错误,且数据库只......
  • Openstack-创建实例错误
    创建实例错误实例执行所请求操作失败,实例处于错误状态。:请稍后再试[错误:Buildofinstancebeaeb5e0-26eb-4044-ae14-bb87d509886daborted:Failedtoallocateth......