Escolar Documentos
Profissional Documentos
Cultura Documentos
Conteúdo
Comentários.................................................................................................................................4
Utilização básica da instrução SELECT..........................................................................................4
SELECT … WHERE.......................................................................................................................10
SELECT DISTINCT........................................................................................................................13
ORDER BY … ASC … DESC............................................................................................................17
SELECT … WHERE … LIKE............................................................................................................22
SELECT … WHERE … NOT LIKE....................................................................................................24
SELECT … LIMIT...........................................................................................................................27
SELECT … WHERE … BETWEEN...................................................................................................28
SELECT … WHERE … IN...............................................................................................................32
SELECT … WHERE … NOT IN........................................................................................................33
SELECT … MIN … MAX................................................................................................................35
SELECT … MIN … MAX (Utilização de ALIASES)...........................................................................36
SELECT COUNT, AVG, SUM.........................................................................................................37
GROUP BY...................................................................................................................................39
GROUP BY … HAVING.................................................................................................................44
DELETE.......................................................................................................................................47
TRUNCATE..................................................................................................................................47
INNER JOIN.................................................................................................................................47
LEFT JOIN....................................................................................................................................50
RIGHT JOIN.................................................................................................................................51
UNION........................................................................................................................................52
UNION ALL..................................................................................................................................53
UPDATE......................................................................................................................................54
INSERT........................................................................................................................................54
CHAR_LENGTH...........................................................................................................................55
CONCAT......................................................................................................................................57
CONCAT_WS..............................................................................................................................59
FORMAT.....................................................................................................................................60
SELECT INSERT............................................................................................................................61
UCASE, UPPER, LCASE, LOWER...................................................................................................64
LEFT, RIGHT................................................................................................................................68
LOCATE.......................................................................................................................................71
LPAD, RPAD................................................................................................................................72
MID............................................................................................................................................74
REPEAT.......................................................................................................................................75
REPLACE.....................................................................................................................................76
REVERSE.....................................................................................................................................77
ABS.............................................................................................................................................78
CEIL, CEILING (arredondar sempre para cima)...........................................................................78
FLOOR (arredondar sempre para baixo).....................................................................................78
ROUND.......................................................................................................................................78
SELECT TRUNCATE......................................................................................................................78
DIV (dividir 2 números e arrendo logo)......................................................................................78
PI................................................................................................................................................79
POW ou POWER (potencia)........................................................................................................79
SQRT (raiz quadrada)..................................................................................................................79
MOD (resto de uma divisão)......................................................................................................79
CREATE DATABASE.....................................................................................................................80
DROP DATABASE........................................................................................................................80
CREATE TABLE............................................................................................................................80
DROP TABLE...............................................................................................................................80
SQL DATATYPES..........................................................................................................................80
CONSTRAINTS (evitar de ter valores nulos.................................................................................81
UNIQUE......................................................................................................................................81
PRIMARY KEY..............................................................................................................................81
FOREIGN KEY..............................................................................................................................81
DEFAULT VALUE.........................................................................................................................82
AUTO_INCREMENT.....................................................................................................................82
CREATE VIEW.............................................................................................................................82
Comentários
--
/* */
SELECT 10 + 20 AS soma
SELECT … WHERE
SELECT * FROM socios WHERE id_socio = 10 (Exercício 03)
SELECT id_socio, nome FROM socios WHERE id_socio < 10 (Exercício 05)
SELECT id_socio, nome FROM socios WHERE NOT id_socio = 10 (Exercício 06)
SELECT * FROM socios WHERE id_socio <= 100 AND cidade = ‘Lisboa’ (Exercício 08)
SELECT id_socio, nome FROM socios WHERE id_socio >= 100 AND id_socio <= 400 AND
cidade = ‘Porto’ (Exercício 09)
SELECT DISTINCT
SELECT DISTINCT cidade FROM socios
SELECT DISTINCT quantia FROM donativos
SELECT DISTINCT quantia FROM donativos WHERE quantia < 10
SELECT DISTINCT cidade FROM socios WHERE id_socio <= 50
ORDER BY … ASC … DESC
SELECT nome FROM socios ORDER BY nome (Exercício 10)
SELECT nome FROM socios ORDER BY nome ASC
SELECT nome FROM socios ORDER BY nome DESC
SELECT nome, cidade FROM socios ORDER BY cidade ASC
SELECT nome, cidade FROM socios ORDER BY nome ASC, cidade ASC
SELECT … WHERE … LIKE
SELECT * FROM socios WHERE nome LIKE ‘a%’ (Exercício 11)
SELECT * FROM socios WHERE telefone LIKE ‘93%’ AND id_socio>=100 AND
id_socio<=200 (Exercício 16)
SELECT … WHERE … NOT LIKE
SELECT * FROM socios WHERE telefone NOT LIKE ‘93%’ (Exercício 17)
SELECT * FROM socios WHERE nome NOT LIKE ‘a%’
SELECT * FROM socios WHERE nome NOT LIKE ‘%nunes%’
SELECT … LIMIT
SELECT * FROM socios WHERE nome LIKE ‘ana %’ LIMIT 3
SELECT * FROM socios WHERE nome LIKE ‘ana %’ ORDER BY id_socio DESC LIMIT 3
SELECT … WHERE … BETWEEN
SELECT * FROM socios WHERE id_socio BETWEEN 100 AND 200
SELECT * FROM socios WHERE id_socio BETWEEN 100 AND 200 OR id_socio BETWEEN
300 AND 400
SELECT * FROM socios WHERE data_nascimento BETWEEN ‘1960-01-01’ AND ‘1969-
12-31’
SELECT * FROM socios WHERE nome BETWEEN ‘carla’ AND ‘fernanda’ ORDER BY nome
SELECT … WHERE … IN
SELECT * FROM socios WHERE id_socio IN (10,20,30)
TRUNCATE
TRUNCATE donativos
INNER JOIN
SELECT * FROM socios INNER JOIN donativos ON socios.id_socio =
donativos.id_socio
SELECT * FROM socios INNER JOIN donativos ON socios.id_socio =
donativos.id_socio ORDER BY donativos.data_hora DESC
SELECT * FROM socios INNER JOIN donativos ON socios.id_socio =
donativos.id_socio WHERE socios.nome LIKE ‘a%’ ORDER BY
donativos.data_hora DESC
LEFT JOIN
SELECT * FROM socios LEFT JOIN donativos ON socios.id_socio =
donativos.id_socio WHERE socios.id_socio <= 10 ORDER BY socios.id_socio ASC
RIGHT JOIN
SELECT socios.id_socio, socios.nome, donativos.* FROM donativos RIGHT JOIN
socios ON donativos.id_socio = socios.id_socio WHERE socios.id_socio = 20
ORDER BY socios.id_socio ASC
UNION
SELECT * FROM socios WHERE id_socio < 10 UNION SELECT * FROM socios
WHERE id_socio >= 200
INSERT
INSERT INTO donativos(id_socio, quantia, data_hora) VALUES(400, 20, NOW())
CHAR_LENGTH
SELECT nome FROM socios WHERE CHAR_LENGTH(nome) >= 25
SELECT nome, CHAR_LENGTH(nome) AS tamanho FROM socios WHERE
CHAR_LENGTH(nome) >= 25
CONCAT
SELECT nome, CONCAT(morada, ‘ – ‘, cidade) AS morada_completa FROM
socios
SELECT CONCAT(‘Nome: ‘, nome) AS nome FROM socios
CONCAT_WS
SELECT CONCAT_WS(‘ > ‘, nome, morada, cidade) AS valor FROM socios
FORMAT
SELECT FORMAT(quantia, 2) FROM donativos
ROUND
SELECT ROUND(120.524,2) AS valor
SELECT TRUNCATE
SELECT TRUNCATE(25.156,2) AS valor
PI
SELECT PI() * 10
DROP DATABASE
DROP DATABASE socios2
CREATE TABLE
CREATE TABLE teste(id INT, nome VARCHAR(50), data_nascimento DATETIME)
DROP TABLE
DROP TABLE teste
SQL DATATYPES
Alfanuméricos (TEXTO)
o CHAR (colocar o numero de carateres)
o VARCHAR (limite até 255 carateres)
o TINYTEXT (limite até 255 carateres)
o TEXT (limite até 65535 carateres)
o BLOB (limite até 65535 carateres)
o MEDIUMTEXT (limite até 16700000 carateres)
o MEDIUMBLOB (limite até 16700000 carateres)
o LONGTEXT
o LONGBLOB
Numéricos (números)
o TINYINT (-128 até 127 números)
o TINYINT UNSIGNED (não aceita números negativos. Aceita de 0 até 256
números)
o SMALLINT (-32 768 até 32 768 números)
o SMALLINT UNSIGNED (não aceita números negativos. 0 e 65 535
números)
o MEDIUMINT
o INT (-4 294 967 295 até 4 294 967 295 números)
o BIGINT (-18 446 744 073 709 551 615 até 18 446 744 073 709 551 615
números)
o FLOAT (4, 2) – primeiro número é a parte esquerda da virgula e o
segundo número é à direita da virgula
o DOUBLE (20, 10)
o DECIMAL (4, 2) – guarda número do tipo string
Data e Hora
o DATE (guarda uma data deste tipo 2018-09-23)
o DATETIME (guarda uma data deste tipo 2018-09-23 12:30:45)
o TIMESTAMP (tem um limite de 09-01-2038)
o TIME
o YEAR
UNIQUE
CREATE TABLE teste(id INT UNIQUE, nome VARCHAR(30))
PRIMARY KEY
CREATE TABLE teste(id INT NOT NULL PRIMARY KEY, nome VARCHAR(30))
FOREIGN KEY
CREATE DATABASE loja
CREATE TABLE cliente(id_cliente INT PRIMARY KEY, nome VARCHAR(50));
CREATE TABLE vendas(id_venda INT PRIMARY KEY, id_cliente INT, produto
VARCHAR(30), FOREIGN KEY(id_cliente) REFERENCES clientes(id_cliente) ON
DELETE CASCADE)
INSERT INTO clientes(id_cliente, nome) VALUE(1, “Joao”);
INSERT INTO clientes(id_cliente, nome) VALUE(2, “Ana”);
INSERT INTO clientes(id_cliente, nome) VALUE(3 “Tiago”);
INSERT INTO vendas(id_venda, id_cliente, produto) VALUE(1,2,”Laranja”)
DEFAULT VALUE
CREATE TABLE teste(valor INT DEFAULT 10)
INSERT INTO teste VALUES(20)
INSERT INTO teste VALUES()
AUTO_INCREMENT
CREATE TABLE clientes(id_cliente INT PRIMARY KEY AUTO_INCREMENT, nome
VARCHAR(50))
INSERT INTO clientes(id_cliente, nome) VALUE(1, “Tiago”)
INSERT INTO clientes(nome) VALUE(“Miguel”)
CREATE VIEW
CREATE VIEW temporario AS SELECT * FROM socios WHERE nome LIKE ‘a%’
SELECT * FROM temporario
DROP VIEW temporario