Mas é bem parecido com o DBASE, mas não tem comando USE pra abrir arquivos.
USE CLIENTES
LIST
USE
SELECT * from CLIENTES
com filtro e apenas 3 campos
USE CLIENTES
LIST CODIGO, NOME, CREDITO FOR CREDITO > 5000
SELECT CODIGO, NOME, CREDITO FROM CLIENTES WHERE CREDITO > 5000
Nesses dois exemplos acima, bem simples, no SQL já há um ganho extremo de velocidade, principalmente no segundo caso.
No primeiro caso, usando VARCHAR() no SQL, espaço em branco já não ocupa espaço/tempo de rede, além de vir compactado.
No segundo caso, apenas os campos solicitados vém pela rede, enquanto em DBF vém TUDO para o terminal escolher.
Isso é transparente para o usuário, é o servidor quem já faz isso.
De certa forma, DBASE e SQL são bem parecidos, há apenas uma mudança na forma de escrever, porque vai tudo numa única linha.
Se traduzir pra português então, tá fácil ver o comando.
SELECT = selecionar
FROM = de onde/origem
WHERE = aonde/filtro
selecione código, nome e crédito de clientes aonde crédito > 5000
SELECT codigo, nome, credito FROM clientes WHERE credito > 5000
É apenas questão de acostumar.
O que dá um "nó na cabeça", é sobre como uma simples troca de mensagens substitui todo aquele fonte que precisa pra DBF.
A demora em aprender a usar SQL.... não é por causa do SQL, é por causa do programador.
Quem nunca usou DBF até aprende mais fácil.
Já quem está acostumado com DBF, acha sempre complicado, porque sempre quer comparar com DBF.
Mas não tem comparação, é muito mais simples mesmo.
Acima trata-se de um único arquivo, quanto mais arquivos, maior a simplicidade em usar SQL.
Não vai mais precisar dos comandos USE, CLOSE DTABASES, SET INDEX, SET ORDER, SET RELATION, SEEK, LOCATE, GOTO, SET FILTER, SELECT, etc.
Se não precisa mais desses comandos.... como considerar que é mais complicado?
Concorda que o problema é o programador, e não o SQL? Que é porque está querendo comparar com DBF?
E quer comparar esquecendo de todos os comandos que o DBF precisa, tá comparando só o LIST, ao invés de toda parafernália de comandos USE, SET INDEX, SET ORDER, SET FILTER, etc. adicionais até chegar no LIST.