Bases de Dados (CC2005), Dep. Ciência de Computadores, FCUP
Eduardo R. B. Marques, DCC/FCUP
Os dados completos de todos os utilizadores do sexo feminino (Sex='F').
SELECT *
FROM USER
WHERE Sex='F';
Apenas o "login" e nome dos utilizadores de sexo feminino.
SELECT Login, Name
FROM USER
WHERE Sex='F';
O "login" dos utilizadores que não têm nº de telefone definido (PHONE IS NULL).
SELECT Login
FROM USER
WHERE Phone IS NULL;
O "login" e número de telefone dos utilizadores que têm nº de telefone definido (PHONE IS NOT NULL).
SELECT Login,Phone
FROM USER
WHERE Phone IS NOT NULL;
O "login" e a data de nascimento de utilizadores que tenham nascido antes do ano 2000 (Year(BirthDate) < 2000).
SELECT Login, BirthDate
FROM USER
WHERE Year(BirthDate) < 2000;
O "login" e a data de nascimento de utilizadores que tenham nascido antes do ano 2000 e que sejam do sexo feminino (Year(BirthDate) < 2000 AND Sex = 'F').
SELECT Login, BirthDate
FROM USER
WHERE Year(BirthDate) < 2000 AND Sex='F';
O "login" e o ano de nascimento de utilizadores que tenham nascido no ano 2000 ou depois (Year(BirthDate) >= 2000).
SELECT Login, Year(BirthDate)
FROM USER
WHERE Year(BirthDate) >= 2000;
O número, autor e texto de "posts" que tenham a sequência '...' no seu texto (Content LIKE '%...%').
SELECT Num,Author,Content
FROM POST
WHERE Content LIKE '%...%';
Os números de utilizadores que são seguidores do utilizador número 7.
SELECT Follower
FROM FOLLOWER
WHERE User=7;
O autor e o conteúdo de comentários ao "post" número 8.
SELECT Author, Content
FROM COMMENT
WHERE Post=8;
INSERT INTO USER(Login,Joined,Name,BirthDate,Sex,Phone,Email)
VALUES('master.of.sql', '2020-03-01', 'Susan Doe', '2000-01-23', 'F', NULL, 'master.of.sql@nosql.com');
Utilizador gerado anteriormente deverá ter ficado com o número 12.
POST_LIKED: Um "like" ao post com número 1;
INSERT INTO POST_LIKED(User,Post) VALUES(12,1);
FOLLOWER: o seguimento dos utilizadores 1 e 2.
INSERT INTO FOLLOWER(Follower,User) VALUES (12,1),(12,2);
COMMENT: a escrita de um comentário para o "post" 1 com conteúdo 'LOL' e o instante (data-hora) actual atribuido ao campo Creation recorrendo à função NOW();
INSERT INTO COMMENT(Author,Post,Content,Creation) VALUES(12,1,'LOL', NOW());
POST: A escrita de um "post" com conteúdo 'I love SQL';
INSERT INTO POST(Author,Content,Creation) VALUES(12,'LOL', NOW());
HASHTAG: a definição das "hash-tags" 'sql' e 'db' para o "post" criado no passo anterior.
O post deverá ter ficado com número 13.
INSERT INTO HASHTAG(Post,Tag) VALUES (13,'sql'), (13,'db');
O email para 'maria@dcc.fc.up.pt' do utilizador com "login" 'maria'.
UPDATE USER
SET Email='maria@dcc.fc.up.pt'
WHERE Login='maria';
O nome para 'Secret Identity' e o email para 'batman@gotham.com' para o utilizador com nome 'Bruce Wayne'.
UPDATE USER
SET Name='Secret Identity',
Email='batman@gotham.com'
WHERE Name='Bruce Wayne';
Os números de telefone para o valor NULL para utilizadores com número inferior a 5.
UPDATE USER
SET Phone=NULL
WHERE Num < 5;
Use instruções DELETE por forma a remover:
O "post" com número 5.
DELETE FROM POST
WHERE Num=5;
Os comentários feitos pelo utilizador 2.
DELETE FROM COMMENT
WHERE Author=2;
Todas as entradas em FOLLOWER que envolvam o utilizador 2 (User = 2 OR Follower=2).
DELETE FROM FOLLOWER
WHERE User=2 OR Follower=2;