USE sucos;
SELECT * FROM tbcliente WHERE (IDADE >= 18 AND IDADE <= 22 AND SEXO = 'M') OR (CIDADE = 'Rio de Janeiro' OR BAIRRO = 'Jardins');
O SQL filtra a tabela com as informações mencionadas acima, tanto na cidade do RJ quanto a do bairro em SP
USE sucos;
SELECT * FROM tbcliente WHERE (IDADE >= 18 AND IDADE <= 22 AND SEXO = 'M') OR (CIDADE = 'Rio de Janeiro' OR BAIRRO = 'Jardins');
O SQL filtra a tabela com as informações mencionadas acima, tanto na cidade do RJ quanto a do bairro em SP
Olá Gabriel, tudo bem?
Operador OR retorna os registros mesmo que apenas uma das condições seja verdadeiras, já o operador AND retorna os registros apenas se as duas condições sejam verdadeiras, então neste exemplo que você utilizou:
Na primeira condição deve ser retornado todos que tenha entre 18 e 22 anos de idade e sejam do sexo masculino:
IDADE >= 18 AND IDADE <= 22 AND SEXO = 'M'
A outra condição deve retornar apenas registros onde a cidade seja Rio de Janeiro ou o Bairro seja Jardins:
CIDADE = 'Rio de Janeiro' OR BAIRRO = 'Jardins'
Porém existe um outro operador OR entre as duas condições, então se na sua tabela existir clientes entre 18 e 22 anos e que sejam do sexo masculino, eles devem ser retornados na consulta, e se existir clientes que morem na cidade do Rio de Janeiro ou que o Bairro seja Jardins, mesmo que não atenda a primeira condição da idade e do sexo, também devem ser retornados, pois foi utilizado o operador OR (ou um ou o outro):
(IDADE >= 18 AND IDADE <= 22 AND SEXO = 'M')
OR
(CIDADE = 'Rio de Janeiro' OR BAIRRO = 'Jardins')
Espero ter esclarecido a sua dúvida, qualquer coisa é só falar e bons estudos!