" 基本的查询语句
" 从表中满足条件的数据,按GT字段顺序放入数据(字段信息不匹配会取值错误)
SELECT FIELDNAME
FROM TAB_NAME
INTO TABLE GT
WHERE expression .
" 添加 CORRESPONDING FIELDS OF 后表示对应字段插入数据
SELECT FIELDNAME
FROM TAB_NAME
INTO CORRESPONDING FIELDS OF TABLE GT
WHERE expression .
" 查询单条数据
SELECT SINGLE FIELDNAME
FROM TAB_NAME
INTO LS " 当使用TABLES声明后,这里的INTO可以省略,默认取数到TABLES声明的结构中
WHERE expression .
" 多表联合查询
" INNER JOIN 关联调节写在ON上,限制条件写WHERE
SELECT A~FIELD1
B~FIELD2
FROM TAB1 AS A
INNER JOIN TAB2 AS B ON A~KEY = B~KEY
INTO CORRESPONDING FIELDS OF TABLE GT
WHERE A~FIELD3 IN S_FIELD3
AND B~FIELD4 IN S_FIELD4 .
" LEFT OUTER JOIN 左表条件写在WHERE 右表写在ON上
SELECT A~FIELD1
B~FIELD2
FROM TAB1 AS A
LEFT OUTER JOIN TAB2 AS B ON A~KEY = B~KEY
AND B~FIELD4 IN S_FIELD4
INTO CORRESPONDING FIELDS OF TABLE GT
WHERE A~FIELD3 IN S_FIELD3 .
" 摘录网上说明:
" 多表查询时,主键使用JOIN链接似乎更合适,其他情况下内表处理效率更高
" FOR ALL ENTRIES IN 效率比JOIN 还低
" CORRESPONDING FIELDS OF 会影响效率
SELECT A~FIELD1
FROM TAB1 AS A
INTO CORRESPONDING FIELDS OF TABLE GT
WHERE A~FIELD3 IN S_FIELD3 .
SELECT B~FIELD2
FROM TAB2 AS B
INTO CORRESPONDING FIELDS OF TABLE GT
FOR ALL ENTRIES IN GT
WHERE B~KEY EQ GT-KEY
AND B~FIELD4 IN S_FIELD4 .
RANGES R_FIELD FOR TAB_NAME . " 声明一个带表头行的范围变量