Ola pessoal, o operador logico BETWEEN e utilizado no Sql Server quando se deseja resgatar dados baseados num intervalo a ser especificado na clausula WHERE. Sua sintaxe e:test_expression [ NOT ] BETWEEN begin_expression AND end_expressionOnde:test_expression e a expressao a ser testada no intervalo definido em begin_expression e end_expression;NOT e o operador logico opcional para negar o resultado do teste;begin_expression e uma expressao que indica o valor inicial do teste;end_expression e uma expressao que indica o valor final do teste;AND operador logico que indica que test_expression deve estar dentro do intervalo (ou fora caso o operador NOT seja utilizado) compreendido entre begin_expression e end_expression.Obs.: test_expression, begin_expression e end_expression devem ser do mesmo tipo de dados.Vamos a alguns exemplos (utilizando o banco AdventureWorks disponibilizado aqui):1- Selecionar os funcionarios com taxa de pagamento entre 27 e 30.SELECT e.FirstName, e.LastName, ep.RateFROM HumanResources.vEmployee e JOIN HumanResources.EmployeePayHistory ep ON e.BusinessEntityID = ep.BusinessEntityIDWHERE ep.Rate BETWEEN 27 AND 30ORDER BY ep.Rate;Com este exemplo podemos verificar que o operador BETWEEN e inclusivo, ou seja, os valores dos extremos do intervalo sao levados em consideracao.2- Selecionar os funcionarios com taxa de pagamento fora do intervalo 27 a 30.SELECT e.FirstName, e.LastName, ep.RateFROM HumanResources.vEmployee e JOIN HumanResources.EmployeePayHistory ep ON e.BusinessEntityID = ep.BusinessEntityIDWHERE ep.Rate NOT BETWEEN 27 AND 30ORDER BY ep.Rate;Neste caso utilizamos o operador NOT para obter o resultado desejado. Versao do Sql Server utilizada:Microsoft SQL Server 2008 (SP3) - 10.0.5512.0 Pessoal, dando continuidade aos tipos de juncoes entre tabelas vamos falar agora sobre as juncoes do tipo OUTER. Elas podem ser: LEFT, RIGHT e FULL. Nesta publicacao falaremos especificamente a respeito da juncao LEFT OUTER JOIN. A utilizacao deste operador permite fazer a juncao entre duas tabelas, de modo que a tabela a esquerda do operador LEFT JOIN tenha todos os seus registros retornados (respeitando as condicoes da clausula WHERE, se ela existir) independente de existir um registro correspondente na tabela a direita do operador LEFT JOIN. Utilizando o banco de dados AdventureWorks vamos ver um exemplo do funcionamento desse operador com o seguinte select:SELECT P.FirstName, P.LastName, P.BusinessEntityID, E.BusinessEntityID, E.VacationHours, E.SickLeaveHours FROM Person.Person P LEFT OUTER JOIN HumanResources.Employee E ON E.BusinessEntityID = P.BusinessEntityID;Os 3 primeiros registros retornados do select acima sao:Com base no resultado chegamos a conclusao que no registro 1 temos os campos FirstName, LastName e BusinessEntityID, ambos da tabela Person, e este registro tem uma referencia na tabela Employee no campo BusinessEntityID visto que o valor ambos os campos sao iguais a 285, logo as colunas E.BusinessEntityID, E.VacationHours e E.SickLeaveHours da tabela Employee tem dados. Porem os outros 2 registros nao possuem referencia na tabela Employee por isso nao existe dados nas colunas E.BusinessEntityID, E.VacationHours e E.SickLeaveHours.Vimos no exemplo acima que utilizando o operador LEFT JOIN os dados da tabela Person sempre serao retornados, ja os da tabela Employee, so serao retornados se existir referencia com Person.Versao do Sql Server utilizada nessa publicacao:Microsoft SQL Server 2008 (SP3) - 10.0.5512.0 Pessoal, neste artigo vamos falar sobre o operador CROSS JOIN. Sua funcao e criar um produto cartesiano entre 2 ou mais tabelas. Devemos tomar cuidado com esse operador, a depender da quantidade