Das sind nun doch 2 verschiedene Paar Schuhe.
Subfile sind normale Read/Write/Rewrite-Befehle, SQL wird per EXEC SQL wie in RPG auch eingeleitet.

Subfile:

read subfile filename Format "Format"
invalid key
:
end-read

write subfile filename Format "Format"
invalid key
:
end-write

rewrite subfile filename Format "Format"
invalid key
:
end-rewrite

read subfile filename next modified Format "Format"
at end
:
end-read

Das Schlüsselwort "subfile" ist hier entscheidend, ansonsten wird die Subfile wie eine Random-Datei mit Relative-Key verarbeitet.

SQL ist wenig komplizierter.
Da in COBOL nicht alle Felder automatisch für SQL zur Verfügung stehen, muss man diese für SQL verfügbar machen:

exec SQL begin declare section
end-exec
77 ...
01 ...
exec SQL end declare section
end-exec

Diese Gruppe von Anweisung darf beliebig oft in der "Working-Storage Section" oder auch "Linkage Section" wiederholt werden.
Ab der "Procedure Division" folgen dann die SQL-Anweisungen:

exec SQL set Option ....
end-exec

exec SQL declare blabla Cursor for select * from myfile where key = : MyKey
end-exec

exec SQL open blabla end-exec
exec SQL fetch blabla into : F1, : F2, ....
end-exec

exec SQL Close blabla end-exec

SQLCA und SQLCODE stehen automatisch zur Verfügung.