{"id":147,"date":"2014-11-13T16:42:41","date_gmt":"2014-11-13T16:42:41","guid":{"rendered":"https:\/\/www.uniessa.hiperlogic.com.br\/?p=147"},"modified":"2014-11-19T21:10:29","modified_gmt":"2014-11-19T21:10:29","slug":"sqldml-expressoes","status":"publish","type":"post","link":"https:\/\/www.uniessa.hiperlogic.com.br\/?p=147","title":{"rendered":"SQL\/DML &#8211; Express\u00f5es"},"content":{"rendered":"<p style=\"text-align: left\"><span style=\"font-size: 24pt;\">Express\u00f5es<\/span><\/p>\n<p style=\"text-align: left\">Utilizadas para retornar um c\u00e1lculo no SQL<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 18pt;\">Exemplo:<\/span><\/p>\n<p style=\"text-align: left\">Q13) Listar o nome e os sal\u00e1rios resultantes de um aumento <\/p>\n<p style=\"text-align: left\">de 10% para os funcion\u00e1rios do projeto \u2019Productx\u2019<\/p>\n<p style=\"text-align: left\">SELECT fname, minit, lname, salary*1.1 as NewSalary<\/p>\n<p style=\"text-align: left\">FROM employee, project, works_on<\/p>\n<p style=\"text-align: left\">WHERE ssn=essn AND pno=pnumber <\/p>\n<p style=\"text-align: left\">AND pname=\u2019ProductX&#8217;<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 18pt;\">Cl\u00e1usula BETWEEN<\/span><\/p>\n<p style=\"text-align: left\">Retorna os dados entre intervalos fechados definidos.<\/p>\n<p style=\"text-align: left\">Q14) Listar todos os empregados no departamento 5 cujo <\/p>\n<p style=\"text-align: left\">sal\u00e1rio est\u00e1 entre 30000 e 40000<\/p>\n<p style=\"text-align: left\">SELECT *<\/p>\n<p style=\"text-align: left\">FROM employee<\/p>\n<p style=\"text-align: left\">WHERE dno=\u20195\u2019 <\/p>\n<p style=\"text-align: left\">AND salary BETWEEN 30000 AND 40000<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 18pt;\">Cl\u00e1usula Order By<\/span><\/p>\n<p style=\"text-align: left\">Ordena o resultado pela(s) coluna(s) escolhida(s), da maneira desejada: Ascendente ou Descendente<\/p>\n<p style=\"text-align: left\">Q 15) Listar os empregados e projetos em que eles est\u00e3o <\/p>\n<p style=\"text-align: left\">trabalhando, ordenados pelo departamento e, dentro de <\/p>\n<p style=\"text-align: left\">cada departamento, ordenado pelo \u00faltimo e primeiro nome<\/p>\n<p style=\"text-align: left\">SELECT dno, fname, lname, pno<\/p>\n<p style=\"text-align: left\">FROM employee, works on<\/p>\n<p style=\"text-align: left\">WHERE essn=ssn<\/p>\n<p style=\"text-align: left\">ORDER BY dno, fname, lname<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 18pt;\">Consultas Complexas<\/span><\/p>\n<ul style=\"list-style-type: disc\">\n<li style=\"text-align: left\">consultas aninhadas e compara\u00e7\u00e3o de conjuntos<\/li>\n<\/ul>\n<ul style=\"list-style-type: disc\">\n<li style=\"text-align: left\">tabelas obtidas de jun\u00e7\u00e3o<\/li>\n<\/ul>\n<ul style=\"list-style-type: disc\">\n<li style=\"text-align: left\">fun\u00e7\u00f5es de agrega\u00e7\u00e3o<\/li>\n<\/ul>\n<ul style=\"list-style-type: disc\">\n<li style=\"text-align: left\">cl\u00e1usulas \u201cgroup by\u201d e having<\/li>\n<\/ul style=\"text-align: left\"><span style=\"font-size: 18pt;\">Cl\u00e1usula IN (pertin\u00eancia)<br \/>\n<\/span><\/p>\n<p style=\"text-align: left\">A consulta Q4 abaixo pode ser reformulada, removendo a cl\u00e1usula UNION e incluindo a cl\u00e1usula IN<\/p>\n<p style=\"text-align: left\">Q4) Listar todos os n\u00fameros de projetos que envolvam um empregado cujo \u00faltimo nome \u00e9 \u2019Smith\u2019 sendo que o empregado deve ser trabalhador ou gerente do departamento que controla o projeto.<\/p>\n<p style=\"text-align: left\">(SELECT DISTINCT pnumber FROM project, department, employee<\/p>\n<p style=\"text-align: left\">WHERE dnum=dnumber AND msgrssn=ssn AND lname=\u2019Smith\u2019) <\/p>\n<p style=\"text-align: left\">UNION<\/p>\n<p style=\"text-align: left\">(SELECT DISTINCT pnumber FROM project, works_on, employee<\/p>\n<p style=\"text-align: left\">WHERE pno=pnumber AND essn=ssn AND lname=\u2019Smith\u2019)<\/p>\n<p style=\"text-align: left\">SELECT DISTINCT pnumber FROM project<\/p>\n<p style=\"text-align: left\">WHERE pnumber IN<\/p>\n<p style=\"text-align: left\">(SELECT pnumber FROM project, department, employee<\/p>\n<p style=\"text-align: left\">WHERE dnum=dnumber AND mgrssn=ssn <\/p>\n<p style=\"text-align: left\">AND lname=\u2019Smith\u2019)<\/p>\n<p style=\"text-align: left\">OR pnumber IN<\/p>\n<p style=\"text-align: left\">(SELECT pno FROM works on,employee<\/p>\n<p style=\"text-align: left\">WHERE essn=ssn AND lname=\u2019Smith\u2019);<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 18pt;\">Comparando conjuntos com ALL, ANY ou SOME<\/span><\/p>\n<p style=\"text-align: left\">Outras cl\u00e1usulas para compara\u00e7\u00e3o de conjuntos: <\/p>\n<p style=\"text-align: left\">ALL<\/p>\n<p style=\"text-align: left\">ANY ou SOME (s\u00e3o sin\u00f4nimos)<\/p>\n<p style=\"text-align: left\">Ex: salary &gt; ALL (SELECT salary FROM &#8230;); <\/p>\n<p style=\"text-align: left\"> salary &lt; ANY (SELECT salary FROM &#8230;);<\/p>\n<p style=\"text-align: left\"> salary &gt; SOME (SELECT salary FROM &#8230;);<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 19pt;\">Ambiguidade em consultas aninhadas \u2013 (apelidos de tabelas)<\/span><\/p>\n<p style=\"text-align: left\">Q16) Listar o nome dos empregados com dependente(s) de mesmo \u2019first name\u2019 e sexo que o empregado<\/p>\n<p style=\"text-align: left\">SELECT e.fname,e.lname<\/p>\n<p style=\"text-align: left\">FROM employee as e<\/p>\n<p style=\"text-align: left\">WHERE e.ssn IN<\/p>\n<p style=\"text-align: left\">(SELECT essn FROM dependent as d<\/p>\n<p style=\"text-align: left\">WHERE fname=dependent_name <\/p>\n<p style=\"text-align: left\">AND e.sex=d.sex);<\/p>\n<p style=\"text-align: left\">SELECT e.fname,e.lname<\/p>\n<p style=\"text-align: left\">FROM employee as e, dependent as d<\/p>\n<p style=\"text-align: left\">WHERE ssn=essn <\/p>\n<p style=\"text-align: left\">AND fname=dependent_name <\/p>\n<p style=\"text-align: left\">AND e.sex=d.sex);<\/p>\n<p style=\"text-align: left\"> <span style=\"font-size: 18pt;\">FUN\u00c7\u00c3O EXISTS &#8211; consultas aninhadas correlacionadas<\/span><\/p>\n<p style=\"text-align: left\">Q16b) Listar o nome dos empregados com dependente(s) de mesmo \u2019first name\u2019 e sexo que o empregado<\/p>\n<p style=\"text-align: left\">SELECT e.fname,e.lname<\/p>\n<p style=\"text-align: left\">FROM employee as e<\/p>\n<p style=\"text-align: left\">WHERE EXISTS<\/p>\n<p style=\"text-align: left\">(SELECT * FROM dependent d<\/p>\n<p style=\"text-align: left\">WHERE e.ssn=d.essn <\/p>\n<p style=\"text-align: left\"> AND e.fname=d.dependent_name <\/p>\n<p style=\"text-align: left\"> AND e.sex=d.sex);<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 18pt;\">FUN\u00c7\u00c3O NOT EXISTS &#8211; consultas aninhadas correlacionadas <\/span><\/p>\n<p style=\"text-align: left\">Q6) Listar os nomes de empregados sem dependentes<\/p>\n<p style=\"text-align: left\">SELECT fname,lname<\/p>\n<p style=\"text-align: left\">FROM employee<\/p>\n<p style=\"text-align: left\">WHERE NOT EXISTS (SELECT *<\/p>\n<p style=\"text-align: left\"> FROM dependent<\/p>\n<p style=\"text-align: left\"> WHERE ssn=essn);<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 18pt;\">Aninhamento em dois n\u00edveis<\/span><\/p>\n<p style=\"text-align: left\">Q3b) Listar o nome dos empregados que trabalham em todos<\/p>\n<p style=\"text-align: left\">os projetos controlados pelo departamento n\u00famero 4<\/p>\n<p style=\"text-align: left\">OBS: Observe a express\u00e3o todos no enunciado da consulta. Esta \u00e9 a divis\u00e3o da \u00e1lgebra relacional. Em SQL a divis\u00e3o pode ser especificada de diversas formas.<\/p>\n<p style=\"text-align: left\">SELECT lname, fname FROM employee<\/p>\n<p style=\"text-align: left\">WHERE NOT EXISTS <\/p>\n<p style=\"text-align: left\"> (SELECT * FROM project WHERE dnum=4<\/p>\n<p style=\"text-align: left\"> AND NOT EXISTS <\/p>\n<p style=\"text-align: left\"> (SELECT * FROM works_on<\/p>\n<p style=\"text-align: left\"> WHERE essn=ssn <\/p>\n<p style=\"text-align: left\"> AND pnumber=pno));<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 18pt;\">Alternativas de Divis\u00e3o para SQL<\/span><\/p>\n<p style=\"text-align: left\">Alternativas de especifica\u00e7\u00e3o de divis\u00e3o em SQL:<\/p>\n<p style=\"text-align: left\">\uf0a7 Usando cl\u00e1usulas NOT EXISTS e IN<\/p>\n<p style=\"text-align: left\">\uf0a7 Usando cl\u00e1usula NOT EXISTS e EXCEPT<\/p>\n<p style=\"text-align: left\">\uf0a7 Usando cl\u00e1usula FOREACH e EXISTS(n\u00e3o implementada no PostgreSql 8.3)<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 18pt;\">divis\u00e3o usando cl\u00e1usulas NOT EXISTS e IN<\/span><\/p>\n<p style=\"text-align: left\">SELECT lname, fname FROM employee<\/p>\n<p style=\"text-align: left\">WHERE NOT EXISTS <\/p>\n<p style=\"text-align: left\"> (SELECT * FROM works_on w1 <\/p>\n<p style=\"text-align: left\"> WHERE (w1.pno IN (SELECT pnumber FROM <\/p>\n<p style=\"text-align: left\"> project WHERE dnum=4))<\/p>\n<p style=\"text-align: left\">AND NOT EXISTS<\/p>\n<p style=\"text-align: left\"> (SELECT * FROM works_on w2<\/p>\n<p style=\"text-align: left\"> WHERE w2.essn=ssn AND w2.pno=w1.pno));<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 18pt;\">divis\u00e3o usando cl\u00e1usulas NOT EXISTS e EXCEPT<\/span><\/p>\n<p style=\"text-align: left\">SELECT lname, fname FROM employee e<\/p>\n<p style=\"text-align: left\">WHERE NOT EXISTS <\/p>\n<p style=\"text-align: left\">(SELECT pnumber FROM project WHERE dnum=4<\/p>\n<p style=\"text-align: left\">EXCEPT <\/p>\n<p style=\"text-align: left\">(SELECT pno FROM works_on w<\/p>\n<p style=\"text-align: left\"> WHERE w.essn=e.ssn))<\/p>\n<p style=\"text-align: left\"> <span style=\"font-size: 18pt;\">divis\u00e3o usando cl\u00e1usulas FOREACH e EXISTS<\/span><\/p>\n<p style=\"text-align: left\">SELECT lname, fname FROM employee<\/p>\n<p style=\"text-align: left\">WHERE FOREACH <\/p>\n<p style=\"text-align: left\">(SELECT pnumber FROM project WHERE dnum=4)<\/p>\n<p style=\"text-align: left\">EXISTS <\/p>\n<p style=\"text-align: left\">(SELECT * FROM works_on<\/p>\n<p style=\"text-align: left\"> WHERE essn=ssn AND pno=pnumber));<\/p>\n<p style=\"text-align: left\">ATEN\u00c7\u00c3O: este comando n\u00e3o funciona no PostgreSql 8.3 <\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 18pt;\">Tabelas obtidas de jun\u00e7\u00e3o<\/span><\/p>\n<p style=\"text-align: left\">Q1a) Listar o nome e endere\u00e7o dos empregados que <\/p>\n<p style=\"text-align: left\">trabalham no departamento \u2019Research\u2019<\/p>\n<p style=\"text-align: left\">SELECT fname, minit, lname, address<\/p>\n<p style=\"text-align: left\"> FROM (employee JOIN department ON dno=dnumber)<\/p>\n<p style=\"text-align: left\"> WHERE dname=\u2019Research\u2019<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 18pt;\">Jun\u00e7\u00e3o Natural<\/span><\/p>\n<p style=\"text-align: left\">Na jun\u00e7\u00e3o natural iguala-se atributos de mesmo nome<\/p>\n<p style=\"text-align: left\">Qlb)Listar o nome e endere\u00e7o dos empregados que trabalham no departamento \u2019Research\u2019<\/p>\n<p style=\"text-align: left\">SELECT fname, name, address<\/p>\n<p style=\"text-align: left\">FROM (employee NATURAL JOIN<\/p>\n<p style=\"text-align: left\">(department AS dept (dname, dno, mssn, <\/p>\n<p style=\"text-align: left\">msdate)))<\/p>\n<p style=\"text-align: left\">WHERE dname= \u2019Research\u2019 <\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 18pt;\">OUTER JOIN<\/span><\/p>\n<p style=\"text-align: left\">A cl\u00e1usula {LEFT | FULL | RIGHT} OUTER JOIN mant\u00eam no resultado todas as tuplas da tabela da esquerda, das duas tabelas ou da tabela da direita da jun\u00e7\u00e3o, respectivamente, inserindo NULL quando n\u00e3o h\u00e1 casamento (matching) <\/p>\n<p style=\"text-align: left\">Q8b)Para cada empregado, liste o seu primeiro acompanhado do primeiro nome de seu supervisor, mesmo se o empregado n\u00e3o tiver supervisor, liste seu nome<\/p>\n<p style=\"text-align: left\">SELECT e.fname as employee_name, <\/p>\n<p style=\"text-align: left\"> s.fname as supervisor_name<\/p>\n<p style=\"text-align: left\">FROM (employee AS e LEFT OUTER JOIN<\/p>\n<p style=\"text-align: left\">employee AS s ON e.superssn =s.ssn)<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 18pt;\">Exemplo Q8b\u2019)<\/span><\/p>\n<p style=\"text-align: left\">Q8b&#8217;)Liste o primeiro nome do supervisor e o primeiro nome de seus supervisionado, ordenado pelo primeiro. Mesmo se o empregado n\u00e3o for supervisor de ningu\u00e9m, liste seu nome na primeira coluna e mesmo se o empregado n\u00e3o tiver supervisor, liste seu nome na segunda coluna.<\/p>\n<p style=\"text-align: left\">SELECT s.fname as supervisor_name,<\/p>\n<p style=\"text-align: left\"> e.fname as employee_name<\/p>\n<p style=\"text-align: left\"> FROM (employee AS e FULL OUTER JOIN<\/p>\n<p style=\"text-align: left\">employee AS s ON e.superssn =s.ssn)<\/p>\n<p style=\"text-align: left\">ORDER BY 1<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 18pt;\">Jun\u00e7\u00f5es aninhadas<\/span><\/p>\n<p style=\"text-align: left\">Q2a) Para todo projeto localizado em \u2019Stafford\u2019, listar o n\u00famero do projeto, o n\u00famero do departamento que o controla e o \u00faltimo nome do gerente do departamento<\/p>\n<p style=\"text-align: left\">SELECT pnumber, dnum, lname<\/p>\n<p style=\"text-align: left\"> FROM ((project JOIN department ON dnum=dnumber<\/p>\n<p style=\"text-align: left\"> (JOIN employee ON mgrssn=ssn))<\/p>\n<p style=\"text-align: left\"> WHERE plocation = \u2019Stafford\u2019<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 18pt;\">Fun\u00e7\u00f5es de agrega\u00e7\u00e3o<\/span><\/p>\n<p style=\"text-align: left\">\u2022 COUNT<\/p>\n<p style=\"text-align: left\">\u2022 SUM<\/p>\n<p style=\"text-align: left\">\u2022 MAX<\/p>\n<p style=\"text-align: left\">\u2022 MIN<\/p>\n<p style=\"text-align: left\">\u2022 AVG<\/p>\n<p style=\"text-align: left\">\u2022 etc.<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 17pt;\">Exemplo Q19<\/span><\/p>\n<p style=\"text-align: left\">Q19) Listar a soma de sal\u00e1rios de todos os empregados,o maior sal\u00e1rio e a m\u00e9dia de sal\u00e1rios<\/p>\n<p style=\"text-align: left\">SELECT <\/p>\n<p style=\"text-align: left\">SUM(salary), MAX(salary), MIN(salary) AVG(salary)<\/p>\n<p style=\"text-align: left\">FROM employee;<\/p>\n<p style=\"text-align: left\">Q20) Listar a soma de sal\u00e1rios, o maior sal\u00e1rio e a m\u00e9dia de sal\u00e1rios, somente para funcion\u00e1rios do departamento &#8216;Research&#8217;<\/p>\n<p style=\"text-align: left\">SELECT <\/p>\n<p style=\"text-align: left\">SUM(salary), MAX(salary), MIN(salary), AVG(salary)<\/p>\n<p style=\"text-align: left\">FROM employee, department<\/p>\n<p style=\"text-align: left\">WHERE dno=dnumber AND dname=&#8217;Research&#8217;;<\/p>\n<p style=\"text-align: left\">Q21) Listar o n\u00famero de empregados<\/p>\n<p style=\"text-align: left\">SELECT COUNT(*) FROM employee;<\/p>\n<p style=\"text-align: left\">Q23) Listar o n\u00famero de sal\u00e1rios distintos<\/p>\n<p style=\"text-align: left\">SELECT COUNT(DISTINCT salary) FROM employee;<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 18pt;\">Fun\u00e7\u00f5es de agrega\u00e7\u00e3o em subconsultas<\/span><\/p>\n<p style=\"text-align: left\">Q5) Listar o nome dos empregados que t\u00eam dois ou mais dependentes<\/p>\n<p style=\"text-align: left\">SELECT lname, fname<\/p>\n<p style=\"text-align: left\">FROM employee<\/p>\n<p style=\"text-align: left\">WHERE (SELECT COUNT(*)<\/p>\n<p style=\"text-align: left\">FROM dependent<\/p>\n<p style=\"text-align: left\">WHERE essn=ssn) &gt;= 2;<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 18pt;\">Cl\u00e1usulas group by<\/span><\/p>\n<p style=\"text-align: left\">Q24) Listar para cada departamento seu n\u00famero, a quantidade de empregados e a m\u00e9dia salarial de seus empregados<\/p>\n<p style=\"text-align: left\">SELECT dnumber, COUNT(*), AVG(salary)<\/p>\n<p style=\"text-align: left\">FROM department, employee<\/p>\n<p style=\"text-align: left\">WHERE dno=dnumber<\/p>\n<p style=\"text-align: left\">GROUP BY dnumber;<\/p>\n<p style=\"text-align: left\">OBS: o agrupamento deve incluir todas as colunas da proje\u00e7\u00e3o que n\u00e3o incluem fun\u00e7\u00e3o de agrega\u00e7\u00e3o<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 18pt;\">Group by com duas colunas<\/span><\/p>\n<p style=\"text-align: left\">Q25) Listar para cada projeto seu n\u00famero, nome e a quantidade de empregados que trabalham no projeto.<\/p>\n<p style=\"text-align: left\">SELECT pnumber, pname, COUNT(*)<\/p>\n<p style=\"text-align: left\"> FROM project, works_on<\/p>\n<p style=\"text-align: left\"> WHERE pno=pnumber<\/p>\n<p style=\"text-align: left\"> GROUP BY pnumber, pname;<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 18pt;\">Cl\u00e1usulas group by e having<\/span><\/p>\n<p style=\"text-align: left\">Q26) Listar para cada projeto onde trabalham mais de dois empregados seu n\u00famero e a quantidade de empregados que trabalham no projeto<\/p>\n<p style=\"text-align: left\">SELECT pnumber, pname, COUNT(*)<\/p>\n<p style=\"text-align: left\"> FROM project, works_on<\/p>\n<p style=\"text-align: left\"> WHERE pno=pnumber<\/p>\n<p style=\"text-align: left\">GROUP BY pnumber, pname<\/p>\n<p style=\"text-align: left\">HAVING COUNT (* )&gt; 2;<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 18pt;\">Cl\u00e1usulas group by e consultas aninhadas com cl\u00e1usula IN<\/span><\/p>\n<p style=\"text-align: left\">Q28) Listar para cada departamento que tem mais que 5 empregados, o n\u00famero do departamento e o n\u00famero de empregados que ganham mais que 40000<\/p>\n<p style=\"text-align: left\">SELECT dno, COUNT(*)<\/p>\n<p style=\"text-align: left\">FROM employee<\/p>\n<p style=\"text-align: left\">WHERE salary &gt; 40000<\/p>\n<p style=\"text-align: left\">AND dno IN<\/p>\n<p style=\"text-align: left\">(SELECT dnumber FROM department<\/p>\n<p style=\"text-align: left\">WHERE(SELECT COUNT(*)<\/p>\n<p style=\"text-align: left\"> FROM employee e2<\/p>\n<p style=\"text-align: left\"> WHERE e2 .dno=dnumber)&gt;2)<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 22pt;\">SQL\/DML e o PostgreSQL<\/span><\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 16pt;\">EXERC\u00cdCIOS DE IMPLEMENTA\u00c7\u00c3O<\/span><\/p>\n<p style=\"text-align: left\">=&gt;  Exemplos de consultas simples no esquema company<\/p>\n<p style=\"text-align: left\">=&gt; Exemplos de consultas complexas no esquema company e exerc\u00edcios usando o esquema SEE<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 22pt;\">Bibliografia<\/span>:<\/p>\n<p style=\"text-align: left\">[SK] Cap\u00edtulos 3,4,5 <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Express\u00f5es Utilizadas para retornar um c\u00e1lculo no SQL Exemplo: Q13) Listar o nome e os sal\u00e1rios resultantes de um aumento de 10% para os funcion\u00e1rios do projeto \u2019Productx\u2019 SELECT fname, minit, lname, salary*1.1 as NewSalary FROM employee, project, works_on WHERE ssn=essn AND pno=pnumber AND pname=\u2019ProductX&#8217; Cl\u00e1usula BETWEEN Retorna os dados entre intervalos fechados definidos. Q14) [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-147","post","type-post","status-publish","format-standard","hentry","category-sem-categoria"],"_links":{"self":[{"href":"https:\/\/www.uniessa.hiperlogic.com.br\/index.php?rest_route=\/wp\/v2\/posts\/147","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.uniessa.hiperlogic.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.uniessa.hiperlogic.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.uniessa.hiperlogic.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.uniessa.hiperlogic.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=147"}],"version-history":[{"count":1,"href":"https:\/\/www.uniessa.hiperlogic.com.br\/index.php?rest_route=\/wp\/v2\/posts\/147\/revisions"}],"predecessor-version":[{"id":148,"href":"https:\/\/www.uniessa.hiperlogic.com.br\/index.php?rest_route=\/wp\/v2\/posts\/147\/revisions\/148"}],"wp:attachment":[{"href":"https:\/\/www.uniessa.hiperlogic.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=147"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.uniessa.hiperlogic.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=147"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.uniessa.hiperlogic.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=147"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}