«

»

jun 27

Inserindo dados fictícios em uma tabela

Muitas vezes precisamos fazer testes e pesquisas mas com tabelas vazias ou com poucos dados não é possível. Vamos criar uma tabela e colocar quantas linhas diferentes quisermos. Neste exemplo, estamos utilizando 20 nomes (10×10) totalizando 100 resultados:

 


--Criamos uma tabela para o primeiro nome
CREATE TABLE NAMES1 (FIRST_NAME varchar(20))

 

--Mais uma outra para sobrenome
CREATE TABLE NAMES2 (LAST_NAME varchar(20))

 


--Vamos colocar os nomes que queremos na primeira tabela
INSERT INTO NAMES1 VALUES ('João')
INSERT INTO NAMES1 VALUES ('José') 
INSERT INTO NAMES1 VALUES ('Gilberto') 
INSERT INTO NAMES1 VALUES ('Bruno') 
INSERT INTO NAMES1 VALUES ('Maria') 
INSERT INTO NAMES1 VALUES ('Karina') 
INSERT INTO NAMES1 VALUES ('Roberta') 
INSERT INTO NAMES1 VALUES ('Mariana') 
INSERT INTO NAMES1 VALUES ('Raquel') 
INSERT INTO NAMES1 VALUES ('Tereza')

 

--Agora colocamos os sobrenomes na segunda tabela
INSERT INTO NAMES2 VALUES ('Silva') 
INSERT INTO NAMES2 VALUES ('Santos') 
INSERT INTO NAMES2 VALUES ('Pereira') 
INSERT INTO NAMES2 VALUES ('Rodrigues') 
INSERT INTO NAMES2 VALUES ('Souza') 
INSERT INTO NAMES2 VALUES ('Oliveira') 
INSERT INTO NAMES2 VALUES ('Roithman') 
INSERT INTO NAMES2 VALUES ('Gilliardo') 
INSERT INTO NAMES2 VALUES ('Saron') 
INSERT INTO NAMES2 VALUES ('Ramirez')

 

--Juntar os nomes com CROSS JOIN
SELECT * INTO FULLNAMES FROM NAMES1 CROSS JOIN NAMES2

 


 

--Resultado
SELECT * FROM FULLNAMES

Você pode acrescentar mais nomes ou uma terceira tabela para ter mais resultados.Pode também inverter o CROSS JOIN para ter mais 100 resultados onde o sobrenome vem antes do nome (NAMES2 CROSS JOIN NAMES1)..

2 comentários

  1. Antônio

    Oi? Veja, eu posso esta falando alguma besteira mas esse mesmo efeito não poderia ser produzido com algo do tipo:

    select NAMES1.FIRST_Name, NAMES2.LAST_Name
    from NAMES1, NAMES2

    De qualquer forma não deixa de ser legal pra melhorar a legibilidade.

  2. Luiz Mercante

    Olá Antônio!

    Não é besteira não o efeito é o mesmo, você está correto. Obrigado por sua contribuição, agora ficou ainda mais claro o que o CROSS JOIN faz.

    Abs!

Deixe uma resposta