{"id":760381,"date":"2021-06-08T11:19:00","date_gmt":"2021-06-08T14:19:00","guid":{"rendered":"https:\/\/www.estrategiaconcursos.com.br\/blog\/?p=760381"},"modified":"2021-06-07T14:46:01","modified_gmt":"2021-06-07T17:46:01","slug":"linguagem-sql-sefaz-es-2","status":"publish","type":"post","link":"https:\/\/www.estrategiaconcursos.com.br\/blog\/linguagem-sql-sefaz-es-2\/","title":{"rendered":"A Linguagem SQL para a SEFAZ ES: Ordena\u00e7\u00e3o, Agrupamento e Jun\u00e7\u00f5es"},"content":{"rendered":"\n<p class=\"has-medium-font-size\">Confira neste artigo um resumo sobre a Linguagem SQL para o concurso da SEFAZ ES.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"497\" height=\"366\" src=\"https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05164612\/image-166.png\" alt=\"Linguagem SQL\" class=\"wp-image-760429\" srcset=\"https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05164612\/image-166.png 497w, https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05164612\/image-166-300x221.png 300w\" sizes=\"auto, (max-width: 497px) 100vw, 497px\" \/><figcaption>Linguagem SQL<\/figcaption><\/figure><\/div>\n\n\n\n<p>Ol\u00e1, pessoal! Tudo bem com voc\u00eas?<\/p>\n\n\n\n<p>O t\u00e3o aguardado edital do concurso da&nbsp;<strong>Secretaria de Estado da Fazenda do Esp\u00edrito Santo <span class=\"has-inline-color has-vivid-cyan-blue-color\">(SEFAZ ES)<\/span><\/strong>, para o cargo de<span class=\"has-inline-color has-vivid-cyan-blue-color\">&nbsp;<strong>Auditor Fiscal<\/strong>,<\/span> finalmente foi publicado.<\/p>\n\n\n\n<p>A temida banca&nbsp;<strong>FGV<\/strong>&nbsp;\u00e9 a organizadora deste certame. Ele est\u00e1 oferecendo&nbsp;<strong>150 vagas<\/strong>&nbsp;para este cargo, com remunera\u00e7\u00e3o inicial de&nbsp;<strong>R$ 12.492,19<\/strong>. Nada mal, n\u00e3o \u00e9 mesmo?<\/p>\n\n\n\n<p>A disciplina de&nbsp;<strong>Tecnologia da Informa\u00e7\u00e3o<\/strong>&nbsp;veio bastante&nbsp;<strong>pesada<\/strong>, com t\u00f3picos que n\u00e3o s\u00e3o t\u00e3o comuns de serem cobrados na \u00e1rea fiscal. Desse modo, no artigo de hoje, o intuito \u00e9 realizar um estudo sobre um assunto muito importante desta disciplina e que certamente estar\u00e1 na sua prova da SEFAZ ES, a&nbsp;<span class=\"has-inline-color has-vivid-cyan-blue-color\"><strong>Linguagem SQL<\/strong>.<\/span><\/p>\n\n\n\n<p>Este j\u00e1 \u00e9 o nosso <strong>segundo e \u00faltimo artigo<\/strong> sobre este tema. Desse modo, dividiremos a nossa an\u00e1lise nos seguintes t\u00f3picos:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Ordena\u00e7\u00e3o;<\/strong><\/li><li><strong>Agrega\u00e7\u00e3o;<\/strong><\/li><li><strong>Agrupamento;<\/strong><\/li><li><strong>Jun\u00e7\u00f5es<\/strong>.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-ordena-o\">Ordena\u00e7\u00e3o<\/h2>\n\n\n\n<p>No artigo anterior, aprendemos sobre os comandos SELECT e WHERE. Neste, iremos dar continuidade sobre este assunto, introduzindo <strong>outros comandos de consulta <\/strong>da Linguagem SQL para a SEFAZ ES.<\/p>\n\n\n\n<p>Quando pesquisamos informa\u00e7\u00f5es em banco de dados, h\u00e1 situa\u00e7\u00f5es em que \u00e9 interessante que os resultados da consulta sejam <strong>ordenados<\/strong>, de acordo com<strong> certo atributo escolhido previamente<\/strong>. Por exemplo, na tabela abaixo, \u00e9 poss\u00edvel que uma consulta seja ordenada de modo crescente dos valores das notas, ou pela ordem alfab\u00e9tica dos nomes dos alunos. Para isso, pode ser utilizado o comando <strong>ORDER BY.<\/strong><\/p>\n\n\n\n<p>Como no artigo anterior, vamos utilizar novamente a tabela abaixo como refer\u00eancia para os exemplos deste artigo.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"439\" height=\"222\" src=\"https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05162723\/image-135.png\" alt=\"Tabela Aluno\" class=\"wp-image-760388\" srcset=\"https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05162723\/image-135.png 439w, https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05162723\/image-135-300x152.png 300w\" sizes=\"auto, (max-width: 439px) 100vw, 439px\" \/><figcaption>Tabela Aluno<\/figcaption><\/figure><\/div>\n\n\n\n<p>A <strong>sintaxe <\/strong>do <strong>ORDER BY<\/strong> pode ser visualizada abaixo:<\/p>\n\n\n\n<p><strong><em>SELECT <\/em><\/strong><em>coluna1, coluna2, &#8230;<\/em><\/p>\n\n\n\n<p><strong><em>FROM <\/em><\/strong><em>nome_tabela<\/em><\/p>\n\n\n\n<p><strong><em>WHERE <\/em><\/strong><em>condi\u00e7\u00e3o<\/em><\/p>\n\n\n\n<p><strong><em>ORDER BY <\/em><\/strong><em>coluna <strong>ASC\/DESC<\/strong><\/em><\/p>\n\n\n\n<p>Perceba que pode ser usado <strong>ASC<\/strong>, para a ordem <strong>crescente<\/strong>, ou <strong>DESC<\/strong>, para a ordem <strong>decrescente<\/strong>. <\/p>\n\n\n\n<p>Por exemplo, vamos supor que queremos que os registros de <strong>todas as linhas<\/strong>, em que a disciplina<strong> n\u00e3o \u00e9 Hist\u00f3ria<\/strong>, sejam <strong>ordenados <\/strong>pelo valor da <strong>nota <\/strong>do aluno, de maneira <strong>crescente<\/strong>. Assim, o comando a ser utilizado ser\u00e1:<\/p>\n\n\n\n<p><strong><em>SELECT<\/em><\/strong><em> *<\/em><\/p>\n\n\n\n<p><strong><em>FROM<\/em><\/strong><em> Aluno<\/em><\/p>\n\n\n\n<p><strong><em>WHERE NOT<\/em><\/strong><em> disciplina=\u2019Hist\u00f3ria\u2019<\/em><\/p>\n\n\n\n<p><strong><em>ORDER BY <\/em><\/strong><em>nota <strong>ASC<\/strong><\/em><\/p>\n\n\n\n<p>De acordo com as f\u00f3rmulas acima, ser\u00e3o selecionados e apresentados os registros da tabela Aluno, os quais n\u00e3o possuem como disciplina a Hist\u00f3ria, sendo que eles ser\u00e3o ordenados de acordo com o valor da nota, em ordem crescente.<\/p>\n\n\n\n<p>Desse modo, teremos a seguinte tabela abaixo:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"491\" height=\"275\" src=\"https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05162756\/image-137.png\" alt=\"Ordena\u00e7\u00e3o GROUP BY\" class=\"wp-image-760390\" srcset=\"https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05162756\/image-137.png 491w, https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05162756\/image-137-300x168.png 300w\" sizes=\"auto, (max-width: 491px) 100vw, 491px\" \/><figcaption>Ordena\u00e7\u00e3o GROUP BY<\/figcaption><\/figure><\/div>\n\n\n\n<p>Perceba que todos os registros, exceto aqueles em que a disciplina \u00e9 Hist\u00f3ria, foram organizados em <strong>ordem crescente de nota<\/strong> e <strong>retornados <\/strong>ao usu\u00e1rio.<\/p>\n\n\n\n<p>Quando a ordena\u00e7\u00e3o exigida \u00e9 por<strong> ordem alfab\u00e9tica<\/strong>, usa-se a <strong>mesma sintaxe.<\/strong> Desse modo, caso queira que a consulta seja organizada pela ordem alfab\u00e9tica dos alunos, teremos a seguinte f\u00f3rmula e tabela resultante:<\/p>\n\n\n\n<p><strong><em>SELECT<\/em><\/strong><em> *<\/em><\/p>\n\n\n\n<p><strong><em>FROM<\/em><\/strong><em> Aluno<\/em><\/p>\n\n\n\n<p><strong><em>WHERE NOT <\/em><\/strong><em>disciplina=\u2019Hist\u00f3ria\u2019<\/em><\/p>\n\n\n\n<p><strong><em>ORDER BY <\/em><\/strong><em>nome_aluno <strong>ASC<\/strong><\/em><\/p>\n\n\n\n<p>De acordo com comandos acima, ser\u00e3o selecionados e apresentados os registros da tabela Aluno, os quais n\u00e3o possuem como disciplina a Hist\u00f3ria, sendo que eles ser\u00e3o ordenados alfabeticamente (crescente), de acordo com o nome do aluno.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"567\" height=\"301\" src=\"https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05162822\/image-139.png\" alt=\"Ordena\u00e7\u00e3o ORDER BY\" class=\"wp-image-760392\" srcset=\"https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05162822\/image-139.png 567w, https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05162822\/image-139-300x159.png 300w\" sizes=\"auto, (max-width: 567px) 100vw, 567px\" \/><figcaption>Ordena\u00e7\u00e3o ORDER BY<\/figcaption><\/figure><\/div>\n\n\n\n<p><strong><span class=\"has-inline-color has-vivid-red-color\">FIQUE SABENDO: <\/span><\/strong>Quando for necess\u00e1ria uma consulta de acordo com a ordem <strong>crescente<\/strong>, o comando <strong>ASC<\/strong> pode ser <strong>suprimido<\/strong>. J\u00e1 quando a consulta for em ordem <strong>decrescente<\/strong>, \u00e9 obrigat\u00f3rio a presen\u00e7a do comando <strong>DESC<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Agrega\u00e7\u00e3o<\/h2>\n\n\n\n<p>Antes de estudarmos as fun\u00e7\u00f5es de agrupamento, \u00e9 importante aprendermos as <strong>agrega\u00e7\u00f5es<\/strong>.<\/p>\n\n\n\n<p>As <strong>fun\u00e7\u00f5es de agrega\u00e7\u00e3o <\/strong>s\u00e3o utilizadas quando s\u00e3o solicitadas informa\u00e7\u00f5es <strong>resumidas <\/strong>entre os diferentes registros. Por exemplo, elas s\u00e3o utilizadas para encontrar o valor m\u00e1ximo ou m\u00ednimo de um atributo. As principais fun\u00e7\u00f5es de agrega\u00e7\u00e3o do SQL s\u00e3o <strong>MAX <\/strong>(m\u00e1ximo),<strong> MIN <\/strong>(m\u00ednimo),<strong> SUM <\/strong>(somat\u00f3rio), <strong>AVG <\/strong>(m\u00e9dia)<strong> e COUNT <\/strong>(contador).<\/p>\n\n\n\n<p>A sua sintaxe \u00e9:<br \/><strong><em>SELECT FUNCAO<\/em><\/strong><em>(coluna1)<\/em><\/p>\n\n\n\n<p><strong><em>FROM<\/em><\/strong><em> nome_tabela<\/em><\/p>\n\n\n\n<p><strong><em>WHERE<\/em><\/strong><em> condi\u00e7\u00e3o<\/em><\/p>\n\n\n\n<p>Perceba que, neste caso, a fun\u00e7\u00e3o \u00e9 inserida logo ap\u00f3s o comando SELECT, j\u00e1 que ser\u00e1 retornado apenas o resultado da fun\u00e7\u00e3o inserida.<\/p>\n\n\n\n<p>Novamente, vamos recorrer a um exemplo para entender a agrega\u00e7\u00e3o.<\/p>\n\n\n\n<p>Vamos supor que o usu\u00e1rio queira a <strong>menor nota <\/strong>entre os alunos que cursam a disciplina de <strong>F\u00edsica<\/strong>. Desse modo, a fun\u00e7\u00e3o ser\u00e1:<\/p>\n\n\n\n<p><strong><em>SELECT MIN<\/em><\/strong><em>(nota)<\/em><\/p>\n\n\n\n<p><strong><em>FROM<\/em><\/strong><em> Aluno<\/em><\/p>\n\n\n\n<p><strong><em>WHERE<\/em><\/strong><em> disciplina=\u2019F\u00edsica\u2019<\/em><\/p>\n\n\n\n<p>Na tabela, temos duas notas para a disciplina de F\u00edsica, 8 e 9. Assim, o seguinte resultado ser\u00e1 retornado:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05163107\/image-143.png\" alt=\"Agrega\u00e7\u00e3o MIN\" class=\"wp-image-760397\" width=\"136\" height=\"77\"\/><figcaption>Agrega\u00e7\u00e3o MIN<\/figcaption><\/figure><\/div>\n\n\n\n<p>Simples, n\u00e3o \u00e9? Vamos para a pr\u00f3xima.<\/p>\n\n\n\n<p>Vamos realizar agora uma consulta para contar a <strong>quantidade de notas de F\u00edsica<\/strong> presentes na tabela:<\/p>\n\n\n\n<p><strong><em>SELECT COUNT<\/em><\/strong><em>(nota)<\/em><\/p>\n\n\n\n<p><strong><em>FROM<\/em><\/strong><em> Aluno<\/em><\/p>\n\n\n\n<p><strong><em>WHERE<\/em><\/strong><em> disciplina=\u2019F\u00edsica\u2019<\/em><\/p>\n\n\n\n<p>A fun\u00e7\u00e3o <strong>COUNT <\/strong>permite realizar a <strong>contagem <\/strong>de registros de acordo com a condi\u00e7\u00e3o imposta. Assim, ela ir\u00e1 contar o n\u00famero de notas em que a disciplina corresponde a F\u00edsica.<\/p>\n\n\n\n<p>Como h\u00e1<strong> duas notas<\/strong> da disciplina de F\u00edsica na tabela, teremos como resultado da consulta a tabela abaixo:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"169\" height=\"74\" src=\"https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05163004\/image-142.png\" alt=\"Agrega\u00e7\u00e3o COUNT\" class=\"wp-image-760396\"\/><figcaption>Agrega\u00e7\u00e3o COUNT<\/figcaption><\/figure><\/div>\n\n\n\n<p>De maneira <strong>similar<\/strong>, podemos encontrar a <strong>m\u00e9dia (AVG), o valor m\u00e1ximo (MAX) e o somat\u00f3rio (SUM) das notas<\/strong>.<\/p>\n\n\n\n<p>Vamos para o pr\u00f3ximo t\u00f3pico.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Agrupamento<\/h2>\n\n\n\n<p>Agora que voc\u00eas j\u00e1 sabem como realizar agrega\u00e7\u00f5es atrav\u00e9s de comandos do SQL, podemos avan\u00e7ar para o t\u00f3pico de <strong>Agrupamentos<\/strong>.<\/p>\n\n\n\n<p>\u00c9 poss\u00edvel que alguns valores de atributos sejam <strong>agrupados <\/strong>em rela\u00e7\u00e3o a um outro atributo. Por exemplo, \u00e9 poss\u00edvel que saibamos <strong>quantas disciplinas s\u00e3o cursadas por cada aluno<\/strong>. Para isto, utilizamos a fun\u00e7\u00e3o <strong>GROUP BY, <\/strong>geralmente com as fun\u00e7\u00f5es de agrega\u00e7\u00e3o j\u00e1 estudadas.<\/p>\n\n\n\n<p>Para utilizar o GROUP BY, utilizamos a seguinte <strong>sintaxe<\/strong>:<\/p>\n\n\n\n<p><strong><em>SELECT <\/em><\/strong><em>coluna1 <strong>FUN\u00c7\u00c3O<\/strong> (coluna2)<\/em><\/p>\n\n\n\n<p><strong><em>FROM <\/em><\/strong><em>nome_tabela<\/em><\/p>\n\n\n\n<p><strong><em>WHERE <\/em><\/strong><em>condi\u00e7\u00e3o<\/em><\/p>\n\n\n\n<p><strong><em>GROUP BY <\/em><\/strong><em>coluna1<\/em><\/p>\n\n\n\n<p>Dito isto, vamos ver como ficaria a f\u00f3rmula para sabermos <strong>quantas disciplinas s\u00e3o cursadas por cada diferente aluno<\/strong>:<\/p>\n\n\n\n<p><strong><em>SELECT<\/em><\/strong><em> nome_aluno <strong>COUNT<\/strong>(disciplina)<\/em><\/p>\n\n\n\n<p><strong><em>FROM<\/em><\/strong><em> Aluno<\/em><\/p>\n\n\n\n<p><strong><em>GROUP BY <\/em><\/strong><em>nome_aluno<\/em><\/p>\n\n\n\n<p>Desse modo, o comando COUNT ir\u00e1 contar a quantidade de disciplinas e agrupar estes n\u00fameros de acordo com o nome do aluno. Assim, a seguinte tabela abaixo ser\u00e1 retornada:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"373\" height=\"188\" src=\"https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05163722\/image-145.png\" alt=\"Agrupamento GROUP BY\" class=\"wp-image-760400\" srcset=\"https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05163722\/image-145.png 373w, https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05163722\/image-145-300x151.png 300w\" sizes=\"auto, (max-width: 373px) 100vw, 373px\" \/><figcaption>Agrupamento GROUP BY<\/figcaption><\/figure><\/div>\n\n\n\n<p>Existe outro comando que \u00e9 muito utilizado em agrupamentos com o GROUP BY, \u00e9 o chamado <strong>HAVING<\/strong>.<\/p>\n\n\n\n<p>Ele \u00e9 utilizado para<strong> incluir alguma outra condi\u00e7\u00e3o<\/strong> que porventura possa ser exigida para realizar o <strong>agrupamento<\/strong>. A nova sintaxe, utilizando o HAVING, seria:<\/p>\n\n\n\n<p><strong><em>SELECT <\/em><\/strong><em>coluna1 <strong>FUN\u00c7\u00c3O<\/strong> (coluna2)<\/em><\/p>\n\n\n\n<p><strong><em>FROM <\/em><\/strong><em>nome_tabela<\/em><\/p>\n\n\n\n<p><strong><em>WHERE <\/em><\/strong><em>condi\u00e7\u00e3o<\/em><\/p>\n\n\n\n<p><strong><em>GROUP BY <\/em><\/strong><em>coluna1<\/em><\/p>\n\n\n\n<p><strong><em>HAVING<\/em><\/strong><em> condi\u00e7\u00e3o<\/em><\/p>\n\n\n\n<p>Por exemplo, vamos supor, novamente, que queiramos saber <strong>quantas disciplinas cada aluno cursa,<\/strong> entretanto, <strong>apenas <\/strong>queremos aqueles alunos que possuam <strong>duas disciplinas ou mais<\/strong> associadas. Desse modo, utilizamos a seguinte f\u00f3rmula:<\/p>\n\n\n\n<p><strong><em>SELECT<\/em><\/strong><em> nome_aluno <strong>COUNT<\/strong>(disciplina)<\/em><\/p>\n\n\n\n<p><strong><em>FROM<\/em><\/strong><em> Aluno<\/em><\/p>\n\n\n\n<p><strong><em>GROUP BY <\/em><\/strong><em>nome_aluno<\/em><\/p>\n\n\n\n<p><strong><em>HAVING COUNT<\/em><\/strong><em>(disciplina) &gt;= 2<\/em><\/p>\n\n\n\n<p>Agora, o comando COUNT ir\u00e1 contar o n\u00famero de disciplinas, agrupar estes n\u00fameros de acordo com o nome do aluno, mas apenas ir\u00e1 retornar aqueles valores em que a quantidade de disciplinas contadas for maior do que 2.<\/p>\n\n\n\n<p>Desse modo, ter\u00edamos apenas os seguintes resultados:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"372\" height=\"118\" src=\"https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05163801\/image-147.png\" alt=\"Agrupamento GROUP BY HAVING\" class=\"wp-image-760402\" srcset=\"https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05163801\/image-147.png 372w, https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05163801\/image-147-300x95.png 300w\" sizes=\"auto, (max-width: 372px) 100vw, 372px\" \/><figcaption>Agrupamento GROUP BY HAVING<\/figcaption><\/figure><\/div>\n\n\n\n<p>Muito bacana, n\u00e3o \u00e9?<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Jun\u00e7\u00f5es (JOINS)<\/h2>\n\n\n\n<p>Finalizando este artigo sobre a Linguagem SQL para o concurso da SEFAZ ES, trataremos das<strong> Jun\u00e7\u00f5es (JOINS).<\/strong><\/p>\n\n\n\n<p>As JOINS s\u00e3o utilizadas para<strong> combinar duas ou mais tabelas.<\/strong> Elas podem ser realizadas, geralmente, de algumas maneiras:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">INNER JOIN<\/h3>\n\n\n\n<p>O <strong>INNER JOIN, ou apenas JOIN<\/strong>, \u00e9 utilizado para retornar os <strong>valores coincidentes em ambas as tabelas<\/strong>, ou seja, s\u00e3o as <strong>intersec\u00e7\u00f5es <\/strong>entre elas. A sua sintaxe \u00e9 a apresentada abaixo:<\/p>\n\n\n\n<p><strong><em>SELECT <\/em><\/strong><em>colunas <\/em><em><\/em><\/p>\n\n\n\n<p><strong><em>FROM <\/em><\/strong><em>tabela1 <\/em><em><\/em><\/p>\n\n\n\n<p><strong><em>JOIN <\/em><\/strong><em>tabela2 <strong>ON <\/strong>tabela1.coluna = tabela2.coluna<\/em><em><\/em><\/p>\n\n\n\n<p>Entretanto, caso as <strong>colunas <\/strong>a serem analisadas de cada tabela possuam <strong>nomes iguais,<\/strong> podemos utilizar a seguinte f\u00f3rmula, em <strong>substitui\u00e7\u00e3o \u00e0 \u00faltima linha acima:<\/strong><\/p>\n\n\n\n<p><strong><em>INNER JOIN <\/em><\/strong><em>tabela2 <strong>USING <\/strong>(coluna);<\/em><em><\/em><\/p>\n\n\n\n<p>Vamos utilizar as seguintes tabelas abaixo para exemplificar este assunto:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"567\" height=\"186\" src=\"https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05163823\/image-149.png\" alt=\"Tabelas para o JOIN\" class=\"wp-image-760404\" srcset=\"https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05163823\/image-149.png 567w, https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05163823\/image-149-300x98.png 300w\" sizes=\"auto, (max-width: 567px) 100vw, 567px\" \/><figcaption>Tabelas para o JOIN<\/figcaption><\/figure><\/div>\n\n\n\n<p>A <strong>primeira <\/strong>tabela \u00e9 formada pelos <strong>alunos <\/strong>e seus respectivos <strong>n\u00fameros de matr\u00edcula<\/strong>. A <strong>segunda <\/strong>relaciona as <strong>notas <\/strong>das <strong>disciplinas <\/strong>com os <strong>n\u00fameros de matr\u00edcula<\/strong> de cada estudante. Dessa maneira, \u00e9 poss\u00edvel criar uma nova tabela de todos os estudantes que possuam nota em alguma disciplina, ou seja, iremos criar uma tabela atrav\u00e9s dos <strong>registros que s\u00e3o iguais<\/strong> entre as colunas<strong> matr\u00edcula_aluno<\/strong> das duas tabelas. Para isso, podemos utilizar a seguinte f\u00f3rmula:<\/p>\n\n\n\n<p><strong><em>SELECT <\/em><\/strong><em>* <\/em><em><\/em><\/p>\n\n\n\n<p><strong><em>FROM <\/em><\/strong><em>Aluno <\/em><em><\/em><\/p>\n\n\n\n<p><strong><em>JOIN <\/em><\/strong><em>Notas <strong>ON <\/strong>aluno.matr\u00edcula_aluno = notas.matr\u00edcula_aluno<\/em><em><\/em><\/p>\n\n\n\n<p>Assim, a tabela abaixo ser\u00e1 retornada, atrav\u00e9s da jun\u00e7\u00e3o das duas tabelas acima, em que h\u00e1 coincid\u00eancia entre os n\u00fameros de matr\u00edcula nas duas tabelas:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"567\" height=\"169\" src=\"https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05163841\/image-152.png\" alt=\"JOIN\" class=\"wp-image-760406\" srcset=\"https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05163841\/image-152.png 567w, https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05163841\/image-152-300x89.png 300w\" sizes=\"auto, (max-width: 567px) 100vw, 567px\" \/><figcaption>JOIN<\/figcaption><\/figure><\/div>\n\n\n\n<p>Perceba que o aluno Marcos, da tabela 1, de matr\u00edcula 555, bem como o registro 777 da disciplina de Matem\u00e1tica, da tabela 2, n\u00e3o apareceram acima, j\u00e1 que n\u00e3o possuem correspond\u00eancia nas tabelas vizinhas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">LEFT JOIN<\/h3>\n\n\n\n<p>O <strong>LEFT JOIN,<\/strong> por sua vez, ir\u00e1 retornar <strong>todos os elementos<\/strong> da tabela da <strong>esquerda<\/strong>, bem como aqueles da tabela da <strong>direita <\/strong>que possuem <strong>correspond\u00eancia<\/strong>. Caso haja algum registro da tabela da <strong>esquerda sem correspond\u00eancia <\/strong>com a da direita, o valor <strong>NULL <\/strong>ser\u00e1 apresentado. Observe abaixo um exemplo similar ao de cima, mas utilizando o LEFT JOIN:<\/p>\n\n\n\n<p><strong><em>SELECT <\/em><\/strong><em>* <\/em><em><\/em><\/p>\n\n\n\n<p><strong><em>FROM <\/em><\/strong><em>Aluno <\/em><em><\/em><\/p>\n\n\n\n<p><strong><em>LEFT JOIN <\/em><\/strong><em>Notas <strong>ON <\/strong>aluno.matr\u00edcula_aluno = notas.matr\u00edcula_aluno<\/em><em><\/em><\/p>\n\n\n\n<p>A seguinte tabela ser\u00e1 apresentada:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"567\" height=\"187\" src=\"https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05163855\/image-154.png\" alt=\"LEFT JOIN\" class=\"wp-image-760408\" srcset=\"https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05163855\/image-154.png 567w, https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05163855\/image-154-300x99.png 300w\" sizes=\"auto, (max-width: 567px) 100vw, 567px\" \/><figcaption>LEFT JOIN<\/figcaption><\/figure><\/div>\n\n\n\n<p>Dessa maneira, diferentemente do INNER JOIN, <strong>todos os elementos da tabela da esquerda foram exibidos<\/strong>. Entretanto, o<strong> 555 n\u00e3o possui correspond\u00eancia<\/strong> com a tabela da direita, sendo os seus campos preenchidos com <strong>NULL<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">RIGHT JOIN<\/h3>\n\n\n\n<p>O<strong> RIGHT JOIN<\/strong> \u00e9 bastante similar ou LEFT JOIN, entretanto, a <strong>tabela da direita que ter\u00e1 todos os seus elementos exibidos,<\/strong> enquanto o que a tabela da <strong>esquerda <\/strong>ter\u00e1 apenas aqueles que possu\u00edrem <strong>correspond\u00eancia <\/strong>com os elementos da tabela da direita. Al\u00e9m disso, caso haja algum registro da tabela da <strong>direita<\/strong> sem correspond\u00eancia com a da esquerda, o valor <strong>NULL <\/strong>ser\u00e1 apresentado. Observe abaixo um exemplo similar ao de cima, mas utilizando o RIGHT JOIN:<\/p>\n\n\n\n<p><strong><em>SELECT <\/em><\/strong><em>* <\/em><em><\/em><\/p>\n\n\n\n<p><strong><em>FROM <\/em><\/strong><em>Aluno <\/em><em><\/em><\/p>\n\n\n\n<p><strong><em>RIGHT JOIN <\/em><\/strong><em>Notas <strong>ON <\/strong>aluno.matr\u00edcula_aluno = notas.matr\u00edcula_aluno<\/em><em><\/em><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"567\" height=\"197\" src=\"https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05163910\/image-156.png\" alt=\"RIGHT JOIN\" class=\"wp-image-760410\" srcset=\"https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05163910\/image-156.png 567w, https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05163910\/image-156-300x104.png 300w\" sizes=\"auto, (max-width: 567px) 100vw, 567px\" \/><figcaption>RIGHT JOIN<\/figcaption><\/figure><\/div>\n\n\n\n<p>Como o <strong>777 <\/strong>n\u00e3o possui correspond\u00eancia com a tabela da <strong>esquerda<\/strong>, seus campos foram preenchidos com <strong>NULL<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">FULL OUTER JOIN<\/h3>\n\n\n\n<p><strong><em>SELECT <\/em><\/strong><em>* <\/em><em><\/em><\/p>\n\n\n\n<p><strong><em>FROM <\/em><\/strong><em>Aluno <\/em><em><\/em><\/p>\n\n\n\n<p><strong><em>FULL OUTER JOIN <\/em><\/strong><em>Notas <strong>ON <\/strong>aluno.matr\u00edcula_aluno = notas.matr\u00edcula_aluno<\/em><em><\/em><\/p>\n\n\n\n<p>Este comando retorna a<strong> jun\u00e7\u00e3o de todos os valores das duas tabelas<\/strong>, relacionando os relacion\u00e1veis e deixando com valor <strong>NULL <\/strong>aqueles campos que <strong>n\u00e3o possuem rela\u00e7\u00e3o.<\/strong> Dessa maneira, ficaria assim a tabela resultante:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"567\" height=\"218\" src=\"https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05163923\/image-158.png\" alt=\"FULL OUTER\" class=\"wp-image-760412\" srcset=\"https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05163923\/image-158.png 567w, https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05163923\/image-158-300x115.png 300w\" sizes=\"auto, (max-width: 567px) 100vw, 567px\" \/><figcaption>FULL OUTER JOIN<\/figcaption><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Finalizando<\/h2>\n\n\n\n<p>Pessoal, chegamos ao fim do nosso&nbsp;<strong>segundo artigo<\/strong>&nbsp;sobre a Linguagem SQL para o concurso da&nbsp;<strong>SEFAZ ES.<\/strong><\/p>\n\n\n\n<p>Procuramos identificar os principais t\u00f3picos e que possuem uma maior chance de serem cobrados.<\/p>\n\n\n\n<p>Caso queira se preparar para chegar&nbsp;<strong>competitivo&nbsp;<\/strong>nesta prova, invista nos&nbsp;<strong><a href=\"https:\/\/www.estrategiaconcursos.com.br\/pesquisa\/?q=sefaz+es\" target=\"_blank\" rel=\"noreferrer noopener\">cursos para a SEFAZ ES<\/a><\/strong>&nbsp;do&nbsp;<strong>Estrat\u00e9gia Concursos<\/strong>. L\u00e1 voc\u00ea encontrar\u00e1&nbsp;<strong>aulas completas e detalhadas, com os melhores professores do mercado<\/strong>.<\/p>\n\n\n\n<p>Conhe\u00e7a tamb\u00e9m o&nbsp;<a href=\"https:\/\/questoes.estrategiaconcursos.com.br\/\" target=\"_blank\" rel=\"noreferrer noopener\">Sistema de Quest\u00f5es do Estrat\u00e9gia<\/a>. Afinal, a \u00fanica maneira de&nbsp;<strong>consolidar o conte\u00fado&nbsp;<\/strong>de maneira satisfat\u00f3ria \u00e9 atrav\u00e9s da&nbsp;<strong>resolu\u00e7\u00e3o de quest\u00f5es.<\/strong><\/p>\n\n\n\n<p>Bons estudos e at\u00e9 a pr\u00f3xima.<\/p>\n\n\n\n<h2 class=\"has-text-align-center wp-block-heading\" id=\"h-cursos-e-assinaturas\">Cursos e Assinaturas<\/h2>\n\n\n\n<p>Prepare-se com o melhor material e com quem mais aprova em Concursos P\u00fablicos em todo o pa\u00eds!<\/p>\n\n\n\n<div class=\"container\" id=\"boxes\">\n  <div class=\"row\">\n    <div class=\"col-sm\">\n      <div class=\"estrategia\" id=\"box-assinatura\">\n        <h3 class=\"titulo-assinatura\">Assinatura de Concursos<\/h3>\n        <p class=\"subtitulo-assinatura\">Assinatura de 1 ano ou 2 anos<\/p>\n        <div class=\"box-botao\">\n          <a class=\"btn-assinatura\" target=\"_blank\" href=\"https:\/\/www.estrategiaconcursos.com.br\/assinaturas\/\" role=\"button\" rel=\"noopener noreferrer\">ASSINE AGORA<\/a>\n        <\/div>\n      <\/div>\n      <p class=\"texto-auxiliar\"><\/p>\n    <\/div>\n    <div class=\"col-sm\">\n      <div class=\"questoes\" id=\"box-assinatura\">\n        <h3 class=\"titulo-assinatura\">Sistema de Quest\u00f5es<\/h3>\n        <p class=\"subtitulo-assinatura\">Assinatura de 1 ano ou 2 anos\n<\/p>\n        <div class=\"box-botao\">\n          <a class=\"btn-assinatura\" target=\"_blank\" href=\"https:\/\/www.estrategiaconcursos.com.br\/cursosPorConcurso\/sistema-de-questoes\/#\/\" role=\"button\" rel=\"noopener noreferrer\">ASSINE AGORA<\/a>\n        <\/div>\n      <\/div>\n      <p class=\"texto-auxiliar\"><\/p>\n    <\/div>\n  <\/div>\n<\/div>\n\n\n\n<div class=\"container\" id=\"boxes\">\n  <div class=\"row\">\n\n    <div class=\"col-sm\" id=\"boxes-concursos\">\n      <div style=\"background-color: #005DAD;\" class=\"conteudo-concursos\" id=\"box-concursos\">\n        <h3 class=\"titulo-assinatura\">Concursos Abertos<\/h3>\n        <p class=\"subtitulo-assinatura\">mais de 15 mil vagas<\/p>\n        <div class=\"box-botao\">\n          <a class=\"btn-assinatura\" target=\"_blank\" href=\"https:\/\/www.estrategiaconcursos.com.br\/blog\/concursos-abertos\/\" role=\"button\" rel=\"noopener noreferrer\">Conhe\u00e7a Agora<\/a>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    \n\n    <div class=\"col-sm\" id=\"boxes-concursos\">\n      <div style=\"background-color: #419FF0;\" class=\"conteudo-concursos\" id=\"box-concursos\">\n        <h3 class=\"titulo-assinatura\">Concursos 2021<\/h3>\n        <p class=\"subtitulo-assinatura\">mais de 17 mil vagas<\/p>\n        <div class=\"box-botao\">\n          <a class=\"btn-assinatura\" target=\"_blank\" href=\"https:\/\/www.estrategiaconcursos.com.br\/blog\/concursos-2021\/\" role=\"button\" rel=\"noopener noreferrer\">Conhe\u00e7a Agora<\/a>\n        <\/div>\n      <\/div>\n    <\/div>\n\n  <\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Confira neste artigo um resumo sobre a Linguagem SQL para o concurso da SEFAZ ES. Ol\u00e1, pessoal! Tudo bem com voc\u00eas? O t\u00e3o aguardado edital do concurso da&nbsp;Secretaria de Estado da Fazenda do Esp\u00edrito Santo (SEFAZ ES), para o cargo de&nbsp;Auditor Fiscal, finalmente foi publicado. A temida banca&nbsp;FGV&nbsp;\u00e9 a organizadora deste certame. Ele est\u00e1 oferecendo&nbsp;150 [&hellip;]<\/p>\n","protected":false},"author":1976,"featured_media":760432,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"post_tipo":"article","footnotes":""},"categories":[1,1983],"tags":[],"tax_estado":[219964,219965,219966,219967,219968,219969,219963,219970,219971,219972,219973,219974,219975,219976,219977,219978,219979,219980,219981,219982,219983,219984,219985,219986,219987,219988,219989,219990],"class_list":["post-760381","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cursos-e-concursos","category-fiscal-estadual","tax_estado-ac","tax_estado-al","tax_estado-am","tax_estado-ap","tax_estado-ba","tax_estado-ce","tax_estado-concursos-federais","tax_estado-df","tax_estado-es","tax_estado-go","tax_estado-ma","tax_estado-mg","tax_estado-ms","tax_estado-mt","tax_estado-pa","tax_estado-pb","tax_estado-pe","tax_estado-pi","tax_estado-pr","tax_estado-rj","tax_estado-rn","tax_estado-ro","tax_estado-rr","tax_estado-rs","tax_estado-sc","tax_estado-se","tax_estado-sp","tax_estado-to"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>A Linguagem SQL para a SEFAZ ES: Ordena\u00e7\u00e3o, Agrupamento e Jun\u00e7\u00f5es<\/title>\n<meta name=\"description\" content=\"Confira aqui um resumo sobre a Linguagem SQL para o concurso da SEFAZ ES, mais especificamente sobre Ordena\u00e7\u00e3o, Agrupamento e Jun\u00e7\u00f5es.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.estrategiaconcursos.com.br\/blog\/linguagem-sql-sefaz-es-2\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"A Linguagem SQL para a SEFAZ ES: Ordena\u00e7\u00e3o, Agrupamento e Jun\u00e7\u00f5es\" \/>\n<meta property=\"og:description\" content=\"Confira aqui um resumo sobre a Linguagem SQL para o concurso da SEFAZ ES, mais especificamente sobre Ordena\u00e7\u00e3o, Agrupamento e Jun\u00e7\u00f5es.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.estrategiaconcursos.com.br\/blog\/linguagem-sql-sefaz-es-2\/\" \/>\n<meta property=\"og:site_name\" content=\"Estrat\u00e9gia Concursos\" \/>\n<meta property=\"article:published_time\" content=\"2021-06-08T14:19:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05164710\/sql4.png\" \/>\n\t<meta property=\"og:image:width\" content=\"497\" \/>\n\t<meta property=\"og:image:height\" content=\"366\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Kassio Henrique Sobral Rocha\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@EstratConcursos\" \/>\n<meta name=\"twitter:site\" content=\"@EstratConcursos\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kassio Henrique Sobral Rocha\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"NewsArticle\",\"@id\":\"https:\/\/www.estrategiaconcursos.com.br\/blog\/linguagem-sql-sefaz-es-2\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.estrategiaconcursos.com.br\/blog\/linguagem-sql-sefaz-es-2\/\"},\"author\":{\"name\":\"Kassio Henrique Sobral Rocha\",\"@id\":\"https:\/\/www.estrategiaconcursos.com.br\/blog\/#\/schema\/person\/f0c830e07cfe11c231c0ea5dbb036df5\"},\"headline\":\"A Linguagem SQL para a SEFAZ ES: Ordena\u00e7\u00e3o, Agrupamento e Jun\u00e7\u00f5es\",\"datePublished\":\"2021-06-08T14:19:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.estrategiaconcursos.com.br\/blog\/linguagem-sql-sefaz-es-2\/\"},\"wordCount\":1982,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.estrategiaconcursos.com.br\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.estrategiaconcursos.com.br\/blog\/linguagem-sql-sefaz-es-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05164710\/sql4.png\",\"articleSection\":[\"Concursos P\u00fablicos\",\"Fiscal - Estadual (ICMS)\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.estrategiaconcursos.com.br\/blog\/linguagem-sql-sefaz-es-2\/#respond\"]}],\"copyrightYear\":\"2021\",\"copyrightHolder\":{\"@id\":\"https:\/\/www.estrategiaconcursos.com.br\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.estrategiaconcursos.com.br\/blog\/linguagem-sql-sefaz-es-2\/\",\"url\":\"https:\/\/www.estrategiaconcursos.com.br\/blog\/linguagem-sql-sefaz-es-2\/\",\"name\":\"A Linguagem SQL para a SEFAZ ES: Ordena\u00e7\u00e3o, Agrupamento e Jun\u00e7\u00f5es\",\"isPartOf\":{\"@id\":\"https:\/\/www.estrategiaconcursos.com.br\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.estrategiaconcursos.com.br\/blog\/linguagem-sql-sefaz-es-2\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.estrategiaconcursos.com.br\/blog\/linguagem-sql-sefaz-es-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05164710\/sql4.png\",\"datePublished\":\"2021-06-08T14:19:00+00:00\",\"description\":\"Confira aqui um resumo sobre a Linguagem SQL para o concurso da SEFAZ ES, mais especificamente sobre Ordena\u00e7\u00e3o, Agrupamento e Jun\u00e7\u00f5es.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.estrategiaconcursos.com.br\/blog\/linguagem-sql-sefaz-es-2\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.estrategiaconcursos.com.br\/blog\/linguagem-sql-sefaz-es-2\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.estrategiaconcursos.com.br\/blog\/linguagem-sql-sefaz-es-2\/#primaryimage\",\"url\":\"https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05164710\/sql4.png\",\"contentUrl\":\"https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05164710\/sql4.png\",\"width\":497,\"height\":366,\"caption\":\"Linguagem SQL\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.estrategiaconcursos.com.br\/blog\/linguagem-sql-sefaz-es-2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\/\/www.estrategiaconcursos.com.br\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"A Linguagem SQL para a SEFAZ ES: Ordena\u00e7\u00e3o, Agrupamento e Jun\u00e7\u00f5es\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.estrategiaconcursos.com.br\/blog\/#website\",\"url\":\"https:\/\/www.estrategiaconcursos.com.br\/blog\/\",\"name\":\"Estrat\u00e9gia Concursos\",\"description\":\"O blog da Estrat\u00e9gia Concursos traz not\u00edcias sobre concursos e artigos de professores oferecendo cursos para concursos (pdf + videaulas) no site.\",\"publisher\":{\"@id\":\"https:\/\/www.estrategiaconcursos.com.br\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.estrategiaconcursos.com.br\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.estrategiaconcursos.com.br\/blog\/#organization\",\"name\":\"Estrat\u00e9gia Concursos\",\"url\":\"https:\/\/www.estrategiaconcursos.com.br\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.estrategiaconcursos.com.br\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/dhg1h5j42swfq.cloudfront.net\/2025\/06\/03203428\/logo_concursos-1.jpg\",\"contentUrl\":\"https:\/\/dhg1h5j42swfq.cloudfront.net\/2025\/06\/03203428\/logo_concursos-1.jpg\",\"width\":230,\"height\":60,\"caption\":\"Estrat\u00e9gia Concursos\"},\"image\":{\"@id\":\"https:\/\/www.estrategiaconcursos.com.br\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/EstratConcursos\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.estrategiaconcursos.com.br\/blog\/#\/schema\/person\/f0c830e07cfe11c231c0ea5dbb036df5\",\"name\":\"Kassio Henrique Sobral Rocha\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/d10350cbdad043facd8ec77a377f86f9026afee3348e463b04854fd4490ce759?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d10350cbdad043facd8ec77a377f86f9026afee3348e463b04854fd4490ce759?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d10350cbdad043facd8ec77a377f86f9026afee3348e463b04854fd4490ce759?s=96&d=mm&r=g\",\"caption\":\"Kassio Henrique Sobral Rocha\"},\"url\":\"https:\/\/www.estrategiaconcursos.com.br\/blog\/author\/kassio-rochayahoo-com-br\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"A Linguagem SQL para a SEFAZ ES: Ordena\u00e7\u00e3o, Agrupamento e Jun\u00e7\u00f5es","description":"Confira aqui um resumo sobre a Linguagem SQL para o concurso da SEFAZ ES, mais especificamente sobre Ordena\u00e7\u00e3o, Agrupamento e Jun\u00e7\u00f5es.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.estrategiaconcursos.com.br\/blog\/linguagem-sql-sefaz-es-2\/","og_locale":"pt_BR","og_type":"article","og_title":"A Linguagem SQL para a SEFAZ ES: Ordena\u00e7\u00e3o, Agrupamento e Jun\u00e7\u00f5es","og_description":"Confira aqui um resumo sobre a Linguagem SQL para o concurso da SEFAZ ES, mais especificamente sobre Ordena\u00e7\u00e3o, Agrupamento e Jun\u00e7\u00f5es.","og_url":"https:\/\/www.estrategiaconcursos.com.br\/blog\/linguagem-sql-sefaz-es-2\/","og_site_name":"Estrat\u00e9gia Concursos","article_published_time":"2021-06-08T14:19:00+00:00","og_image":[{"width":497,"height":366,"url":"https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05164710\/sql4.png","type":"image\/png"}],"author":"Kassio Henrique Sobral Rocha","twitter_card":"summary_large_image","twitter_creator":"@EstratConcursos","twitter_site":"@EstratConcursos","twitter_misc":{"Escrito por":"Kassio Henrique Sobral Rocha","Est. tempo de leitura":"11 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/www.estrategiaconcursos.com.br\/blog\/linguagem-sql-sefaz-es-2\/#article","isPartOf":{"@id":"https:\/\/www.estrategiaconcursos.com.br\/blog\/linguagem-sql-sefaz-es-2\/"},"author":{"name":"Kassio Henrique Sobral Rocha","@id":"https:\/\/www.estrategiaconcursos.com.br\/blog\/#\/schema\/person\/f0c830e07cfe11c231c0ea5dbb036df5"},"headline":"A Linguagem SQL para a SEFAZ ES: Ordena\u00e7\u00e3o, Agrupamento e Jun\u00e7\u00f5es","datePublished":"2021-06-08T14:19:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.estrategiaconcursos.com.br\/blog\/linguagem-sql-sefaz-es-2\/"},"wordCount":1982,"commentCount":0,"publisher":{"@id":"https:\/\/www.estrategiaconcursos.com.br\/blog\/#organization"},"image":{"@id":"https:\/\/www.estrategiaconcursos.com.br\/blog\/linguagem-sql-sefaz-es-2\/#primaryimage"},"thumbnailUrl":"https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05164710\/sql4.png","articleSection":["Concursos P\u00fablicos","Fiscal - Estadual (ICMS)"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.estrategiaconcursos.com.br\/blog\/linguagem-sql-sefaz-es-2\/#respond"]}],"copyrightYear":"2021","copyrightHolder":{"@id":"https:\/\/www.estrategiaconcursos.com.br\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/www.estrategiaconcursos.com.br\/blog\/linguagem-sql-sefaz-es-2\/","url":"https:\/\/www.estrategiaconcursos.com.br\/blog\/linguagem-sql-sefaz-es-2\/","name":"A Linguagem SQL para a SEFAZ ES: Ordena\u00e7\u00e3o, Agrupamento e Jun\u00e7\u00f5es","isPartOf":{"@id":"https:\/\/www.estrategiaconcursos.com.br\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.estrategiaconcursos.com.br\/blog\/linguagem-sql-sefaz-es-2\/#primaryimage"},"image":{"@id":"https:\/\/www.estrategiaconcursos.com.br\/blog\/linguagem-sql-sefaz-es-2\/#primaryimage"},"thumbnailUrl":"https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05164710\/sql4.png","datePublished":"2021-06-08T14:19:00+00:00","description":"Confira aqui um resumo sobre a Linguagem SQL para o concurso da SEFAZ ES, mais especificamente sobre Ordena\u00e7\u00e3o, Agrupamento e Jun\u00e7\u00f5es.","breadcrumb":{"@id":"https:\/\/www.estrategiaconcursos.com.br\/blog\/linguagem-sql-sefaz-es-2\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.estrategiaconcursos.com.br\/blog\/linguagem-sql-sefaz-es-2\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.estrategiaconcursos.com.br\/blog\/linguagem-sql-sefaz-es-2\/#primaryimage","url":"https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05164710\/sql4.png","contentUrl":"https:\/\/dhg1h5j42swfq.cloudfront.net\/2021\/06\/05164710\/sql4.png","width":497,"height":366,"caption":"Linguagem SQL"},{"@type":"BreadcrumbList","@id":"https:\/\/www.estrategiaconcursos.com.br\/blog\/linguagem-sql-sefaz-es-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/www.estrategiaconcursos.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"A Linguagem SQL para a SEFAZ ES: Ordena\u00e7\u00e3o, Agrupamento e Jun\u00e7\u00f5es"}]},{"@type":"WebSite","@id":"https:\/\/www.estrategiaconcursos.com.br\/blog\/#website","url":"https:\/\/www.estrategiaconcursos.com.br\/blog\/","name":"Estrat\u00e9gia Concursos","description":"O blog da Estrat\u00e9gia Concursos traz not\u00edcias sobre concursos e artigos de professores oferecendo cursos para concursos (pdf + videaulas) no site.","publisher":{"@id":"https:\/\/www.estrategiaconcursos.com.br\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.estrategiaconcursos.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.estrategiaconcursos.com.br\/blog\/#organization","name":"Estrat\u00e9gia Concursos","url":"https:\/\/www.estrategiaconcursos.com.br\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.estrategiaconcursos.com.br\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/dhg1h5j42swfq.cloudfront.net\/2025\/06\/03203428\/logo_concursos-1.jpg","contentUrl":"https:\/\/dhg1h5j42swfq.cloudfront.net\/2025\/06\/03203428\/logo_concursos-1.jpg","width":230,"height":60,"caption":"Estrat\u00e9gia Concursos"},"image":{"@id":"https:\/\/www.estrategiaconcursos.com.br\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/EstratConcursos"]},{"@type":"Person","@id":"https:\/\/www.estrategiaconcursos.com.br\/blog\/#\/schema\/person\/f0c830e07cfe11c231c0ea5dbb036df5","name":"Kassio Henrique Sobral Rocha","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/secure.gravatar.com\/avatar\/d10350cbdad043facd8ec77a377f86f9026afee3348e463b04854fd4490ce759?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/d10350cbdad043facd8ec77a377f86f9026afee3348e463b04854fd4490ce759?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d10350cbdad043facd8ec77a377f86f9026afee3348e463b04854fd4490ce759?s=96&d=mm&r=g","caption":"Kassio Henrique Sobral Rocha"},"url":"https:\/\/www.estrategiaconcursos.com.br\/blog\/author\/kassio-rochayahoo-com-br\/"}]}},"_links":{"self":[{"href":"https:\/\/www.estrategiaconcursos.com.br\/blog\/wp-json\/wp\/v2\/posts\/760381","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.estrategiaconcursos.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.estrategiaconcursos.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.estrategiaconcursos.com.br\/blog\/wp-json\/wp\/v2\/users\/1976"}],"replies":[{"embeddable":true,"href":"https:\/\/www.estrategiaconcursos.com.br\/blog\/wp-json\/wp\/v2\/comments?post=760381"}],"version-history":[{"count":34,"href":"https:\/\/www.estrategiaconcursos.com.br\/blog\/wp-json\/wp\/v2\/posts\/760381\/revisions"}],"predecessor-version":[{"id":760554,"href":"https:\/\/www.estrategiaconcursos.com.br\/blog\/wp-json\/wp\/v2\/posts\/760381\/revisions\/760554"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.estrategiaconcursos.com.br\/blog\/wp-json\/wp\/v2\/media\/760432"}],"wp:attachment":[{"href":"https:\/\/www.estrategiaconcursos.com.br\/blog\/wp-json\/wp\/v2\/media?parent=760381"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.estrategiaconcursos.com.br\/blog\/wp-json\/wp\/v2\/categories?post=760381"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.estrategiaconcursos.com.br\/blog\/wp-json\/wp\/v2\/tags?post=760381"},{"taxonomy":"tax_estado","embeddable":true,"href":"https:\/\/www.estrategiaconcursos.com.br\/blog\/wp-json\/wp\/v2\/tax_estado?post=760381"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}