1
resposta

Criar select para acessar campos específicos das tabelas

CREATE DATABASE DBSISTEMAARTIGOS;

CREATE TABLE USUARIO ( ID SERIAL PRIMARY KEY, NOME VARCHAR(245) NOT NULL, EMAIL VARCHAR(245) NOT NULL UNIQUE, PASSWORD VARCHAR(245) NOT NULL, ADMIN BOOLEAN DEFAULT false );

CREATE TABLE CATEGORIA ( ID SERIAL PRIMARY KEY, NOME VARCHAR(245) NOT NULL );

CREATE TABLE ARTIGO ( ID SERIAL PRIMARY KEY, NOME VARCHAR(245) NOT NULL, DESCRICAO VARCHAR(245) NOT NULL, CONTEUDO JSON NOT NULL, ANO INT NOT NULL, IDUSUARIO INT NOT NULL, IDCATEGORIA INT NOT NULL, FOREIGN KEY (IDUSUARIO) REFERENCES USUARIO (ID), FOREIGN KEY (IDCATEGORIA) REFERENCES CATEGORIA (ID) );

INSERT INTO USUARIO (NOME, EMAIL, PASSWORD) VALUES ('JORGE HENRIQUE', 'jorge@teste.com', 'senha'); INSERT INTO USUARIO (NOME, EMAIL, PASSWORD) VALUES ('JOAO PAULO', 'joao@teste.com', 'senha'); INSERT INTO USUARIO (NOME, EMAIL, PASSWORD) VALUES ('ANA MARTINS', 'ana@teste.com', 'senha'); INSERT INTO USUARIO (NOME, EMAIL, PASSWORD) VALUES ('LUIZA FLORES', 'luiza@teste.com', 'senha'); INSERT INTO USUARIO (NOME, EMAIL, PASSWORD) VALUES ('PAULO TARSO', 'paulo@teste.com', 'senha'); INSERT INTO USUARIO (NOME, EMAIL, PASSWORD, ADMIN) VALUES ('AMANDA SILVA', 'amanda@teste.com', 'senha', true);

INSERT INTO CATEGORIA (NOME) VALUES('TECNOLOGIA'); INSERT INTO CATEGORIA (NOME) VALUES('CIENCIA'); INSERT INTO CATEGORIA (NOME) VALUES('PROGRAMACAO');

INSERT INTO ARTIGO (NOME, DESCRICAO, CONTEUDO, ANO, IDUSUARIO, IDCATEGORIA)VALUES('INTRODUCAO AO DOCKER', 'PRIMEIRO CONTATO COM DOCKER', '{"conteudo": "UM CONTEUDO QUALQUER"}', 2020, 1, 1); INSERT INTO ARTIGO (NOME, DESCRICAO, CONTEUDO, ANO, IDUSUARIO, IDCATEGORIA)VALUES('ENTENDENDO REGEX', 'ONDE UTILIZAR REGEX', '{"conteudo": "UM CONTEUDO QUALQUER"}', 2019, 2, 2); INSERT INTO ARTIGO (NOME, DESCRICAO, CONTEUDO, ANO, IDUSUARIO, IDCATEGORIA)VALUES('GoLang', 'SIMPLIFICANDO A COMPLEXIDADE', '{"conteudo": "UM CONTEUDO QUALQUER"}', 2020, 3, 3); INSERT INTO ARTIGO (NOME, DESCRICAO, CONTEUDO, ANO, IDUSUARIO, IDCATEGORIA)VALUES('PHP', 'PHP morreu ou vai morrer?', '{"conteudo": "UM CONTEUDO QUALQUER"}', 2018, 6, 1);

 Faça uma consulta de artigos que retorne todos os campos de artigos, mas somente de artigos que são de usuários administradores.

 Faça uma consulta de artigos que retorne os artigos com o nome de suas categorias, limite essa consulta para que traga no máximo 2 resultados em ordem ascendente.

Estou procurando alguns exercícios na internet para fixar o aprendizado e não consegui resolver esse. Como faço os SELECT abaixo? Alguém pode me ajudar porque não entendi a lógica por trás. Desde já agradeço

1 resposta

Oii Rodrigo, tudo bem?

Estou acompanhando isso com você nesse tópico, vamos continuar por lá, tá bom? :)

Abraços.