Meus aprendizados SQLSERVER
Apresentação
Bem vindo, me chamo marlon d.
atualmente estou em treinamento para o cargo de consultor de tecnologia em uma gigante do ramo de software, tive alguns treinos sqlserver e oracle, aqui vou trazer comandos aprendidos, a maioria deles vai ter uma breve explicação do que realiza, vou deixar o link do video que mais me ajudou a aprender tbm, espero ajudar em alguma etapa da sua jornada!
Links
Video onde aprendi muito do SQL SERVER: https://www.youtube.com/watch?v=G7bMwefn8RQ&t=4s&ab_channel=DevAprender%7CJhonatandeSouza
Aprendizados de programação: https://www.youtube.com/@Htmellen
CUIDADO: https://www.youtube.com/watch?v=ocPbUVS0M_o
Recomendo os cursos online do alura https://www.alura.com.br/
COMANDOS
=-=-=-=-=-=-=-=--=-=-==-=-SELECT - FROM=-=-=-=-=-=-=-=-=-=-=-=-=
- SELECT * FROM (TABELA) - Buscara todas informações da tabela especificada.
- SELECT (CATEGORIA) FROM (TABELA) - Mostrara apenas a categoria solicitada da tabela
=-=-=-=-=-=-=-=--=-=-==-=-DISTINCT=-=-=-=-=-=-=-=-=-=-=-=-=
- SELECT DISTINCT(CATEGORIA) FROM (TABELA) - o DISTINCT fara com que o SELECT traga apenas informações únicas, se houver por exemplo duas informações com o mesmo nome, o distinct só mostrara uma vez esta informação
=-=-=-=-=-=-=-=--=-=-==-=-WHERE=-=-=-=-=-=-=-=-=-=-=-=-=
- SELECT (CATEGORIA, CATEGORIA2) FROM (TABELA) WHERE (CATEGORIA2) = '(ALGUMA INFORMAÇÃO ESPECIFICA)'
:=: o WHERE ali fara com que busque somente as informações da categoria que contenham a informação solicitada
- SELECT (CATEGORIA, CATEGORIA2) FROM (TABELA) WHERE (CATEGORIA2) <> '(INFORMAÇÂO)'
:=: o <> adicionado ali, fara com que esconda as informações que contem a informação informada.
- SELECT (CATEGORIA) FROM (TABELA) WHERE WEIGHT > (QUANTIA) AND WEIGHT < (QUANTIA)
:=: WEIGHT > AND WEIGHT < fara com que mostre apenas informações que possuam o valor entre as duas quantia solicitada
=-=-=-=-=-=-=-=--=-=-==-=-COUNT=-=-=-=-=-=-=-=-=-=-=-=-=
- SELECT COUNT((CATEGORIA)) FROM (TABELA)
:=: mostrara a contagem de todas informações na categorias solicitadas
=-=-=-=-=-=-=-=--=-=-==-=-TOP=-=-=-=-=-=-=-=-=-=-=-=-=
- SELECT TOP (QUANTIA) (CATEGORIA) FROM (TABELA)
:=: o TOP adicionado no SELECT fara com que mostre apenas uma certa quantia solicitada de informações
=-=-=-=-=-=-=-=--=-=-==-=-ORDER BY=-=-=-=-=-=-=-=-=-=-=-=-=
- SELECT (CATEGORIA) FROM (TABELA) ORDER BY (CATEGORIA) DESC OU ASC
:=: fara com que mostre as informações em ordem Decrescente ou Ascendente
=-=-=-=-=-=-=-=--=-=-==-=-BETWEEN=-=-=-=-=-=-=-=-=-=-=-=-=
- SELECT (CATEGORIA) FROM (TABELA) WHERE (CATEGORIA) BETWEEN (QUANTIA) AND (QUANTIA)
:=: fara com que mostre as informações com a quantia entre quantia da categoria solicitada
- SELECT (CATEGORIA) FROM (TABELA) WHERE (CATEGORIA) NOT BETWEEN (QUANTIA) AND (QUANTIA)
:=: fara com que não mostre as informações com a quantia entre quantia da categoria solicitada
=-=-=-=-=-=-=-=--=-=-==-=-IN=-=-=-=-=-=-=-=-=-=-=-=-=
- SELECT (CATEGORIA) FROM (TABELA) WHERE (CATEGORIA) IN ((VALOR),(VALOR))
:=: Mostrara apenas as informações da categoria com o valor indicado no IN
- SELECT (CATEGORIA) FROM (TABELA) WHERE (CATEGORIA) NOT IN ((VALOR),(VALOR))
:=: Mostrara todas informações menos as informações da categoria com o valor indicado no IN
=-=-=-=-=-=-=-=--=-=-==-=-LIKE=-=-=-=-=-=-=-=-=-=-=-=-=
- SELECT (CATEGORIA) FROM (TABELA) WHERE (CATEGORIA) LIKE '%'
:+: Pode colocar % no inicio, meio ou fim ex: LIKE 'OVI%' - LIKE '%OVI' - LIKE '%OVI%'
:=: ira mostrar as informações que contenham a informação solicitada no like
=-=-=-=-=-=-=-=--=-=-==-=-CALCULOS=-=-=-=-=-=-=-=-=-=-=-=-=
- SELECT SUM(CATEGORIA) FROM (TABELA) AS (NOME)
:=: mostrara a soma da categoria informada
- SELECT MIN(CATEGORIA) FROM (TABELA) AS (NOME)
:=: mostrara o menor numero da categoria informada
- SELECT MAX(CATEGORIA) FROM (TABELA) AS (NOME)
:=: mostrara o maior numero da categoria informada
- SELECT AVG(CATEGORIA) FROM (TABELA) AS (NOME)
:=: mostrara a media da categoria informada
=-=-=-=-=-=-=-=--=-=-==-=-HAVING=-=-=-=-=-=-=-=-=-=-=-=-=
- SELECT (CATEGORIA),SUM(CATEGORIA) AS "(NOME)" FROM (TABELA) GROUP BY (CATEGORIA) HAVING SUM(CATEGORIA) BETWEEN (QUANTIA) AND (QUANTIA)
:-=-: HAVING consegue pegar dados ja filtrados e consegue fazer filtragem extra com ele
=-=-=-=-=-=-=-=--=-=-==-=AS=-=-=-=-=-=-=-=-=-=-=-=-=
- SELECT (CATEGORIA) AS"(NOME)" FROM (TABELA)
:=: renomeia o nome da tabela solicitada no SELECT
=-=-=-=-=-=-=-=--=-=-==-=INNER JOIN=-=-=-=-=-=-=-=-=-=-=-=-=
- SELECT (SIGLA QUE QUER ASSOCIAR).(TABELA), (OUTRA SIGLA DA OUTRA TABELA).(CATEGORIA QUE QUER)FROM (CATEGORIA) AS (SIGLA) INNER JOIN (PASTA QUE QUER ASSOCIAR) (SIGLA QUE QUER COLOCAR) ON (TABELA COM MESMAS INFORMAÇÕES) = (MESMA SIGLA DO INICIO).(TABELA COM MESMAS INFORMAÇÕES)
:-=-: mostrara uma tabela com o ID, primero nome, sobrenome e o email
- SELECT * FROM Person.BusinessEntityAddress BA LEFT JOIN Person.Address PA ON PA.AddressID = BA.AddressID
PUXA TODAS INFORMAÇÕES DE UM LADO E APENAS AS SOLICITADAS DO OUTRO - PODE SER TANTO LEFT JOIN QUANTO RIGHT
- SELECT * FROM Person.BusinessEntityAddress BA FULL JOIN Person.Address PA ON PA.AddressID = BA.AddressID
Puxa todas informações de ambos os lados
=-=-=-=-=-=-=-=--=-=-==-=UNION=-=-=-=-=-=-=-=-=-=-=-=-=
- SELECT [ProductID], [Name], [ProductNumber] From Production.Product Where Name like '%chain%'
UNION vai unir os dados das duas tabelas escolhidas
=-=-=-=-=-=-=-=--=-=-==-=UPPER E LOWER-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- SELECT UPPER(FirstName) FROM Person.Person
a linha firstname aparecera toda em maiúsculo
- SELECT LOWER(FirstName) FROM Person.Person
a linha firstname aparecera toda em minusculo
=-=-=-=-=-=-=-=--=-=-==-=LEN-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- SELECT (FirstName),LEN(firstname) FROM Person.Person
contara quantas caracteres tem na palavra
=-=-=-=-=-=-=-=--=-=-==-=LEN-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- SELECT (FirstName), SUBSTRING(Firstname,1,3,) FROM Person.Person
mostrara apenas a quantidade de dígitos pedido ali entre parênteses. no exemplo puxara apenas da 1 a 3 letra
=-=-=-=-=-=-=-=--=-=-==-=REPLACE-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- SELECT REPLACE(ProductNumber, '-', '#') FROM Production.Product
substituirá o caractere desejado na coluna mencionada pelo novo escolhido
neste exemplo ele substituirá o - por # nas palavras da coluna ProductNumber
=-=-=-=-=-=-=-=--=-=-==-=CONCAT-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- SELECT CONCAT(firstname,' ', lastname) FROM Person.Person
Puxara as informações da tabela mencionada
=-=-=-=-=-=-=-=--=-=-==-=ROUND-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- SELECT ROUND(LineTotal,2),Linetotal FROM SALES.SALESORDERDETAIL
arredondara os números da tabela de acordo com o numero ali
=-=-=-=-=-=-=-=--=-=-==-=CREATE TABLE-=-=-=-=-=-=-=-=-=-=-=-=-=-=
NOT NULL - Não permite nulos
UNIQUE - Força que todos valores sejam diferentes na coluna
PRIMARY KEY - junta not nul e unique
FOREIGN KEY - Identifica unicamente uma linha em outra tabela
CHECK - Força uma condição especifica em uma coluna exemplo: INT CHECK (IDADE >= 18)
DEFAULT - Força um valor padrão quando nenhum valor é passado
- CREATE TABLE Canal (CanalId INT PRIMARY KEY,Nome VARCHAR(150) NOT NULL,ContagemInscritos INT DEFAULT 0,DataCriacao DATETIME NOT NULL);
CRIARA UMA TABELA
- INSERT INTO aula(Id,Nome) VALUES (1,'aula 1')
INSERT INTO adicionara informação a tabela selecionada
- SELECT * INTO NOVATABELA FROM TABELAEXISTENTE
COPIARA TODAS INFORMAÇÕES DA TABELAEXISTENTE PARA UMA NOVA TABELA
- UPDATE aula SET nome = 'teste'
UPDATE desta maneira ira mudar todos dados da linha da tabela escolhida
- UPDATE aula SET nome = 'teste' WHERE id = 2
Mudara apenas o nome da linha escolhida, informada ali após o where
- DELETE FROM aula WHERE nome = 'teste'
deletara apenas a linha com a informação descrita ( sem o where ira deletar todas linhas da tabela inteira )
- ALTER TABLE youtube ADD ativo BIT
adicionara uma nova coluna na tabela
- ALTER TABLE youtube ALTER COLUMN categoria VARCHAR(250) NOT NULL;
mudara as configurações da coluna solicitada
- EXEC SP_RENAME 'youtube.nome', 'NomeCanal', 'COLUMN'
Alterará o nome da coluna solicitada
- EXEC SP_RENAME 'youtube', 'youtuber';
alterará o nome da tabela para outro
- DROP TABLE Youtuber
Excluirá a tabela do banco de dados
- TRUNCATE TABLE aula
Excluirá todas informações da tabela
- CREATE VIEW[Pessoas Simplificadas] AS SELECT FirstName, Middlename, Lastname FROM Person.Person WHERE Title = 'Ms.'
VIEW são tabelas criadas para consulta onde vc usa outras tabelas como base para criar uma nova tabela de pesquisa com apenas dados específicos que você precisa de uma tabela
FIM
lembrando que é um conhecimento meio jogado, intuito é ajudar de maneira amadora!