Mostrando postagens com marcador w3schools. Mostrar todas as postagens
Mostrando postagens com marcador w3schools. Mostrar todas as postagens

Constraint NOT NULL

Por padrão uma tabela pode guardar valores nulos.

A constraint NOT NULL garante que uma coluna não irá aceitar valores nulos. Ou seja, um campo sempre terá necessariament um valor. Isto significa que você não poderá inserir um novo registro ou atualizar um existente sem ter um valor para esta coluna.

O seguinte SQL garante que a coluna 'id' e a coluna 'sobrenome' não irão aceitar valores nulos:
CREATE TABLE Persons (
id int NOT NULL,
sobrenome varchar(255) NOT NULL,
nome varchar(255),
endereco varchar(255),
cidade varchar(255)
)

Fonte

Contraints no SQL

Constraints são usadas para limitar os dados que podem ser inseridos em uma tabela.

Constranints podem ser especificadas quando a tabela é criada (com o comando CREATE TABLE) ou depois que a tabela é criada (com o comando ALTER TABLE).

Nós estaremos focando nas seguintes constraints:
  • NOT NULL
  • UNIQUE
  • PRIMARY KEY
  • FOREIGN KEY
  • CHECK
  • DEFAULT
Os próximos posts irão descrever cada constraint em detalhe.

Fonte

Tipos de dados

Este é um marcador para um post que será completado posteriormente.

Criando tabelas com o comando CREATE TABLE

O comando CREATE TABLE é usado para criar uma tabela em um banco de dados.

Sintaxe do CREATE TABLE
   1:CREATE TABLE table_name
2:(
3:nome_coluna1 tipo_dado,
4:nome_coluna2 tipo_dado,
5:nome_coluna3 tipo_dado,
6:....
7:)
O tipo de dado especifica que tipo de dado a coluna pode guardar. Para uma referencia completa sobre todos os tipos de dados disponíveis visite a nossa referencia sobre os tipos de dados diponíveis ou a documentação do seu banco de dados.

Exemplo de CREATE TABLE

Agora nós queremos criar uma tabela chamada Pessoas que contém cinco colunas: id, sobrenome, nome, endereco e cidade.

   1:CREATE TABLE Persons (
2: id int,
3: sobrenome varchar(255),
4: nome varchar(255),
5: endereco varchar(255),
6: cidade varchar(255)
7:)
A coluna id é do tipo int e guarda um número. As colunas sobrenome, nome, endereco e cidade são do tipo varchar com um tamanho máximo de 255 caracteres.

A tabela Pessoas vazia ficará assim:

idsobrenomenomeenderecocidade

Para inserir valores nesta tabela basta usar o comando INSERT INTO.

Fonte

Criando bancos de dados com o comando CREATE DATABASE

O comando CREATE DATABASE é usado para criar um banco de dados.

A Sintaxe do CREATE DATABASE
   1:CREATE DATABASE database_name
Exemplo de CREATE DATABASE

Agora vamos criar o banco de dados my_db:
   1:CREATE DATABASE my_db
Tabelas podem ser criadas com o comando CREATE TABLE.

Fonte

O operador UNION

O operador UNION combina dois ou mais comandos SELECT agrupando os seus resultados distintos.

Observe que cada comando SELECT no UNION deve ter a mesma quantidade de colunas, as colunas devem ser de tipos de dados similares e tambem as colunas devem estar na mesma ordem.

Sintaxe do UNION
   1:SELECT nome_coluna(s) FROM nome_tabela1
2:UNION
3:SELECT nome_coluna(s) FROM nome_tabela2
Nota: O operador UNION seleciona somente os valores distintos por padrão. Para permitir valores duplicados, use o UNION ALL.

Sintaxe do UNION ALL
   1:SELECT nome_coluna(s) FROM nome_tabela1
2:UNION ALL
3:SELECT nome_coluna(s) FROM nome_tabela2
Nota: Os nomes das colunas no resultset de um UNION são sempre iguais aos nomes de colunas do primeiro comando SELECT no UNION.

Exemplo de UNION

Observe as seguintes tabelas:

Funcionarios_Europeus:

idnome
01Hansen, Ola
02Svendson, Tove
03Svendson, Stephen
04Pettersen, Kari

Funcionarios_Americanos:

idnome
01Turner, Sally
02Kent, Clark
03Svendson, Stephen
04Scott, Stephen

Agora nós queremos listar todos os funcionários europeus e americanos:
   1:SELECT nome FROM Funcionarios_Europeus
2:UNION
3:SELECT nome FROM Funcionarios_Americanos
O resultado ficará assim:

nome
Hansen, Ola
Svendson, Tove
Svendson, Stephen
Pettersen, Kari
Turner, Sally
Kent, Clark
Scott, Stephen

Nota: Este comando não pode ser usado para listar todos os funcionários Europeus e Americanos. No exemplo acima nos temos dois funcionários com nomes iguais e apenas um deles será mostrado. O comando UNION mostra somente valores distintos.

Exemplo de UNION ALL

Agora nos queremos listar todos os funcionarios Europeus e Americanos:
   1:SELECT nome FROM Funcionarios_Europeus
2:UNION ALL
3:SELECT nome FROM Funcionarios_Americanos
Resultado:

nome
Hansen, Ola
Svendson, Tove
Svendson, Stephen
Pettersen, Kari
Turner, Sally
Kent, Clark
Svendson, Stephen
Scott, Stephen

Fonte

O join FULL JOIN

A palavra FULL JOIN retorna linhas quando elas aparecem em qualquer das tabelas.

Sintaxe do FULL JOIN
   1:SELECT nome_coluna(s)
2:FROM nome_tabela1
3:RIGHT JOIN nome_tabela2
4:ON nome_tabela1.nome_coluna = nome_tabela2.nome_coluna

Exemplo de FULL JOIN

A tabela Pessoas

idsobrenomeprimeiro_nomeenderecocidade
1HansenOlaTimoteivn 10Sandnes
2SvendsonToveBorgvn 23Sandnes
3PettersenKariStorgt 20Stavanger

A tabela Pedidos

idnumeropessoa_id
1778953
2446783
3224561
4245621
53476415

Agora nos queremos listar todas as pessoas pessoas e pedidos existentes.

We use the following SELECT statement:
   1:SELECT
2: pes.sobrenome,
3: pes.primeiro_nome,
4: ped.numero
5:FROM Pessoas
6: FULL JOIN Pedidos ON pes.id = ped.pessoa_id
7:ORDER BY pes.sobrenome
O resultado será o seguinte:

sobrenomeprimeiro_nomenumero
HansenOla22456
HansenOla24562
PettersenKari77895
PettersenKari44678
SvendsonTove
34764

A pesquisa com FULL JOIN retornará todas as linhas da tabela da esquerda (Pessoas) e todas as linhas da tabela da direita (Pedidos). Se existem linhas em Pessoas que não tem Pedidos ou se existem Pedidos que não são de Pessoas estas linhas também serão listadas.

Fonte

O join RIGHT JOIN

A palavra RIGHT JOIN retorna todas as linhas da tabela da direita (nome_tabela2), mesmo se não existe a linha da tabela da esquerda (nome_tabela1).

A sintaxe do RIGHT JOIN
   1:SELECT nome_coluna(s)
2:FROM nome_tabela1
3:RIGHT JOIN nome_tabela2
4:ON nome_tabela1.nome_coluna = nome_tabela2.nome_coluna
Nota: Em alguns bancos de dados o RIGHT JOIN é chamado de RIGHT OUTER JOIN.

Exemplo de RIGHT JOIN

A tabela Pessoas

idsobrenomeprimeiro_nomeenderecocidade
1HansenOlaTimoteivn 10Sandnes
2SvendsonToveBorgvn 23Sandnes
3PettersenKariStorgt 20Stavanger

A tabela Pedidos

idnumeropessoa_id
1778953
2446783
3224561
4245621
53476415

Agora nós queremos listar todos os pedidos que são de pessoas, se houver, das tabelas acima.
   1:SELECT
2: pes.sobrenome,
3: pes.primeiro_nome,
4: ped.numero
5:FROM Pessoas
6:RIGHT JOIN Pedidos
7:ON pes.id = ped.pessoa_id
8:ORDER BY pes.sobrenome
O resultado será o seguinte:

sobrenomeprimeiro_nomenumero
HansenOla22456
HansenOla24562
PettersenKari77895
PettersenKari44678
34764

A pesquisa com RIGHT JOIN retorna todas as linhas da tabela da direita (Pedidos), mesmo se não existem pessoas correspondentes.

Fonte

O join LEFT JOIN

A palavra LEFT JOIN retorna todas as linhas da tabela da esquerda (nome_tabela1), mesmo que não existam linhas correspondentes na tabela da direita (nome_tabela2)

Sintaxe do LEFT JOIN
   1:SELECT nome_coluna(s)
2:FROM nome_tabela1
3:LEFT JOIN nome_tabela2
4:ON nome_tabela1.nome_coluna = nome_tabela2.nome_coluna
Nota: Em alguns SGDBs o LEFT JOIN é chamado LEFT OUTER JOIN.

Exemplo de LEFT JOIN

A tabela Pessoas

idsobrenomeprimeiro_nomeenderecocidade
1HansenOlaTimoteivn 10Sandnes
2SvendsonToveBorgvn 23Sandnes
3PettersenKariStorgt 20Stavanger

A tabela Pedidos

idnumeropessoa_id
1778953
2446783
3224561
4245621
53476415


Agora nós queremos listar todas as pessoas e os seus pedidos, se houver.
   1:SELECT
2: pes.sobrenome,
3: pes.primeiro_nome,
4: ped.numero
5:FROM Pessoas
6:LEFT JOIN Pedidos
7:ON pes.id = ped.pessoa_id
8:ORDER BY pes.sobrenome
O resultado será:

LastNameFirstNameOrderNo
HansenOla22456
HansenOla24562
PettersenKari77895
PettersenKari44678
SvendsonTove

Fonte

O join INNER JOIN

A palavra INNER JOIN retorna linhas quando existe o registro em ambas as tabelas.

Sintaxe do INNER JOIN
   1:SELECT nome_coluna(s)
2:FROM nome_tabela1 alias_tabela_1
3:INNER JOIN nome_tabela2 alias_tabela_2
4:ON alias_tabela1.nome_coluna = alias_tabela2.nome_coluna
Exemplo de INNER JOIN

A tabela Pessoas
idsobrenomeprimeiro_nomeenderecocidade
1HansenOlaTimoteivn 10Sandnes
2SvendsonToveBorgvn 23Sandnes
3PettersenKariStorgt 20Stavanger


A tabela Pedidos
idnumeropessoa_id
1778953
2446783
3224561
4245621
53476415

Agora nos queremos listar todas as pessoas que tem pedidos:
   1:SELECT
2: pes.sobrenome,
3: pes.primeiro_nome,
4: ped.numero
5:FROM Pessoas pes
6:INNER JOIN Pedidos ped
7:ON pes.id = ped.pessoa_id
8:ORDER BY pes.sobrenome

O resultado será o seguinte:

sobrenomeprimeiro_nomenumero
HansenOla22456
HansenOla24562
PettersenKari77895
PettersenKari44678

A palavra INNER JOIN retorna linhas quando existe pelo menos um registro em ambas as tabelas. Se existem linhas na tabela Pessoas que não tem registros na tabela de Pedidos, estas linhas NÃO serão mostradas.

Fonte

Joins no SQL

Joins são usados para pesquisar dados de duas ou mais tabelas baseado em um relacionamento entre algumas colunas destas tabelas.

Tabelas em um banco de dados geralmente estão relacionadas entre sí por meio de chaves.

Uma chave primária é uma coluna (ou uma combinação de colunas) com um valor único para cada linha. Cada valor de chave primária deve ser único na tabela. O propósito é juntar dados entre tabelas sem repetir todos os dados em toda tabela.

Veja a tabela Pessoas:

idsobrenomeprimeiro_nomeenderecocidade
1HansenOlaTimoteivn 10Sandnes
2SvendsonToveBorgvn 23Sandnes
3PettersenKariStorgt 20Stavanger

Observe que a coluna 'id' é a chave primária da tabela Pessoas. Isto significa que não pode haver duas linhas com o mesmo valor de 'id'. A coluna 'id' distingue duas pessoas se elas têm o mesmo nome.

Agora nos temos a tabela Pedidos:
idnumeropessoa_id
1778953
2446783
3224561
4245621
53476415

Perceba que a coluna 'id' é a chave primária na tabela Pedidos e que a coluna 'pessoa_id' refere-se às pessoas na tabela Pessoas sem usar os seus nomes. O relacionamento entre as tabelas Pessoas e Pedidos se dá pela coluna 'pessoa_id' na tabela de Pedidos.

Diferentes tipos de JOINS

Antes de continuar com os exemplos vamos listar os tipos de JOIN que podem ser usados e as diferenças entre eles.
  • INNER JOIN: Retorna uma linha quando o registro existe nas duas tabelas.
  • LEFT JOIN: Retorna todas as linhas da tabela da esquerda mesmo que o registro não exista na da direita.
  • RIGHT JOIN: Retorna todas as linhas da tabela da direita, mesmo que o registronão exista na da esquerda.
  • FULL JOIN: Retorna todas as linhas mesmo que o registro não exista em uma das tabelas.
Fonte

Aliases ou apelidos no SQL

No SQL um alias ou apelido é um nome que pode ser dado para uma tabela ou coluna no contexto de uma pesquisa. Isto pode ser bom se você tem uma consulta muito grande ou nomes de tabelas e colunas complexos.

Um alias pode ser qualquer coisa mas geralmente é pequeno.

Sintaxe de Alias para tabelas
   1:SELECT nome_coluna(s)
2:FROM nome_tabela
3:AS nome_alias
SQL Alias Syntax for Columns
   1:SELECT nome_coluna AS nome_alias
2:FROM nome_tabela
Exemplo de alias

Considere que nos temos duas tabelas: uma chamada Pessoas e outra chamada Pedidos.
Vamos dar para as tabelas os aliases 'pes' para Pessoas e 'ped' para pedidos.

Queremos listar todos os pedidos feitos por 'Ola Hansen':
   1:SELECT
2: ped.id,
3: pes.sobrenome,
4: pes.primeiro_nome
5:FROM Pessoas AS pes, Pedidos AS ped
6:WHERE
7: ped.pessoa_id = pes.id AND
8: pes.sobrenome = 'Hansen' AND
9: pes.primeiro_nome = 'Ola'
A mesma pesquisa feita sem o uso de aliases ficaria:
   1:SELECT
2: Pedidos.id,
3: Pessoas.sobrenome,
4: Pessoas.primeiro_nome
5:FROM Pessoas, Pedidos
6:WHERE
7: Pedidos.pessoa_id = Pessoas.id AND
8: Pessoas.sobrenome = 'Hansen' AND
9: Pessoas.primeiro_nome = 'Ola'
Como você pode ver pelos dois comandos SELECT acima usar aliases pode tornar pesquisas mais fáceis tanto de escrever como de ler.

Fonte

O operador BETWEEN

O operador BETWEEN seleciona um conjunto de dados entre dois valores. Os valores podem ser números, textos ou datas.

Sintaxe do BETWEEN
   1:SELECT nome_coluna(s)
2:FROM nome_tabela
3:WHERE nome_coluna BETWEEN valor1 AND valor2

Exemplo do operador BETWEEN

Data a tabela abaixo:

idsobrenomeprimeiro_nomeenderecocidade
1HansenOlaTimoteivn 10Sandnes
2SvendsonToveBorgvn 23Sandnes
3PettersenKariStorgt 20Stavanger

Nós queremos selecionar as pessoas com o sobrenome que alfabeticamente esta entre 'Hansen' e 'Pettersen' na tabela acima:
   1:SELECT * FROM Pessoas
2:WHERE sobrenome
3:BETWEEN 'Hansen' AND 'Pettersen'

O resultado será:

idsobrenomeprimeiro_nomeenderecocidade
1HansenOlaTimoteivn 10Sandnes


Nota: O operador BETWEEN é tratado diferentemente em diferentes SGDBs.

Em alguns SGDBs as pessoas que tem o sobrenome 'Hansen' ou 'Pettersen' não serão incluidas porque o operador BETWEEN só seleciona os valores que estão entre, excluindo os valores de teste.

Em outros SGDBs, pessoas com o sobrenome 'Hansen' e 'Pettersen' serão listadas, e em outros somente o primeiro valor de teste será incluido. Sendo assim, verifique o seu SGDB e esteja consciente das diferenças.

Exemplo 2

Para mostrar os valores que estão fora dos limites do exemplo anterior, nós usamos NOT BETWEEN:
   1:SELECT * FROM Pessoas
2:WHERE sobrenome
3:NOT BETWEEN 'Hansen' AND 'Pettersen'

O resultado será:

idsobrenomeprimeiro_nomeenderecocidade
2SvendsonToveBorgvn 23Sandnes
3PettersenKariStorgt 20Stavanger

Fonte

O operador IN

O operador IN permite que você especifique vários valores em uma cláusula WHERE.

Sintaxe do operador IN
   1:SELECT nome_coluna(s)
2:FROM nome_tabela
3:WHERE nome_coluna IN (valor1,valor2,...)
Exemplo do operador IN

Consideremos a tabela Pessoas:

idsobrenomeprimeiro_nomeenderecocidade
1HansenOlaTimoteivn 10Sandnes
2SvendsonToveBorgvn 23Sandnes
3PettersenKariStorgt 20Stavanger

Agora nós queremos selecionar as pessoas quem tem o sobrenome igual a 'Hansen' ou 'Pettersen':
   1:SELECT * FROM Pessoas
2:WHERE sobrenome IN ('Hansen','Pettersen')
O resultado será o seguinte:

idsobrenomeprimeiro_nomeenderecocidade
1HansenOlaTimoteivn 10Sandnes
3PettersenKariStorgt 20Stavanger

Fonte

O operador LIKE

O operador LIKE é usado em uma cláusula WHERE para pesquisar por um padrão especificado em uma coluna.

A sintaxe do LIKE
   1:SELECT nome_coluna(s)
2:FROM nome_tabela
3:WHERE nome_coluna LIKE padrao

Exemplos do operador LIKE

Dada a tabela abaixo:

idsobrenomeprimeiro_nomeenderecocidade
1HansenOlaTimoteivn 10Sandnes
2SvendsonToveBorgvn 23Sandnes
3PettersenKariStorgt 20Stavanger

Nos queremos selecinar as pessoas que vivem em uma cidade que começa com 'S':
   1:SELECT * FROM Pessoas
2:WHERE cidade LIKE 'S%'
O símbolo % pode ser usado para definir um padrão (letras faltando no padrão) tanto antes como depois do padrão.

O resultado da pesquisa acima será:

idsobrenomeprimeiro_nomeenderecocidade
1HansenOlaTimoteivn 10Sandnes
2SvendsonToveBorgvn 23Sandnes
3PettersenKariStorgt 20Stavanger

Agora nós queremos selecionar as pessoas que vivem em uma cidade cujo nome termina com 'S':
   1:SELECT * FROM Pessoas
2:WHERE cidade LIKE '%s'
O resultado para esta pesquisa será:

idsobrenomeprimeiro_nomeenderecocidade
1HansenOlaTimoteivn 10Sandnes
2SvendsonToveBorgvn 23Sandnes

Agora vamos procurar as pessoas que vivem em uma cidade em que o nome que contém as letras 'tav':
   1:SELECT * FROM Pessoas
2:WHERE cidade LIKE '%tav%'

O resultado será:

idsobrenomeprimeiro_nomeenderecocidade
3PettersenKariStorgt 20Stavanger

Também é possível selecionar as pessoas que vivem em uma cidade em que o nome NÃO CONTÉM o padrão 'tav' usando a palavra NOT:
   1:SELECT * FROM Pessoas
2:WHERE cidade NOT LIKE '%tav%'
O resultado será o seguinte:

idsobrenomeprimeiro_nomeenderecocidade
1HansenOlaTimoteivn 10Sandnes
2SvendsonToveBorgvn 23Sandnes

Usando o padrão _

O padrão _ substitui apenas um caractere no texto.

Vamos por exemplo selecionar as pessoas cujo nome tem 3 letras e termina com 'la':
   1:SELECT * FROM Pessoas
2:WHERE primeiro_nome LIKE '_la'
O resultado será:

idsobrenomeprimeiro_nomeenderecocidade
1HansenOlaTimoteivn 10Sandnes


Queremos agora selecionar as pessoas têm o sobrenome começando com 'S' seguido de qualquer caractere seguido de 'end' seguido de outro caractere e terminando com 'on':
   1:SELECT * FROM Pessoas
2:WHERE sobrenome LIKE 'S_end_on'
O resultado será:

idsobrenomeprimeiro_nomeenderecocidade
2SvendsonToveBorgvn 23Sandnes

Além destes padrões de pesquisa, que são comummente encontrados nos SGCBs, os bancos de dados também oferecem outros padrões como Expressões Regulares que podem ser úteis em outras situações.

Fonte

O comando DELETE

O comando DELETE é usado para excluir linhas em uma tabela.

A sintaxe do DELETE
   1:DELETE FROM nome_tabela
2:WHERE coluna=valor
Nota: Observe a cláusula WHERE na sintaxe do DELETE. A cláusula WHERE especifica que registro ou registros devem ser excluídos. Se você omitir a cláusula WHERE, TODOS OS REGISTROS serão EXCLUÍDOS.

Exemplo de DELETE

A tabela Pessoas

id
sobrenomeprimeiro_nome
enderecocidade
1HansenOlaTimoteivn 10Sandnes
2SvendsonToveBorgvn 23Sandnes
3PettersenKariStorgt 20Stavanger
4NilsenJohanBakken 2Stavanger
5TjessemJakobNissestien 67Sandnes

Agora nós queremos excuir a pessoa 'Jakob Tjessem' na tabela Pessoas.
O comando para esta ação é o seguinte:
   1:DELETE FROM Pessoas
2:WHERE sobrenome='Tjessem' AND primeiro_nome='Jakob'
A tabela Pessoas ficará da seguinte forma:

id
sobrenomeprimeiro_nome
enderecocidade
1HansenOlaTimoteivn 10Sandnes
2SvendsonToveBorgvn 23Sandnes
3PettersenKariStorgt 20Stavanger
4NilsenJohanBakken 2Stavanger

Excluindo todas as linhas

É possível excluir todas as linhas em uma tabela sem excluir a tabela. Isto significa que a estrutura da tabela, atributos e índices ficará intactos.
   1:DELETE FROM nome_tabela
ou
   1:DELETE * FROM table_name
Nota: Tenha muito cuidado excluindo registros. Você não pode desfazer este comando.

Fonte

O comando UPDATE

O comando UPDATE é usado para atualizar registros existentes.

A sintaxe do UPDATE
   1:UPDATE nome_tabela
2:SET coluna1=valor1, coluna2=valor2,...
3:WHERE coluna_pesquisa=valor
Nota: Observe a cláusula WHERE na sintaxe do UPDATE. A cláusula WHERE especifica que registro ou registros devem ser atualizados. Se você omitir a cláusula WHERE, TODOS OS REGISTROS serão atualizados!

Um exemplo de UPDATE

A tabela Pessoas:

id
sobrenomeprimeiro_nome
enderecocidade
1HansenOlaTimoteivn 10Sandnes
2SvendsonToveBorgvn 23Sandnes
3PettersenKariStorgt 20Stavanger
4NilsenJohanBakken 2Stavanger
5TjessemJakob  

Agora nos queremos atualizar a pessoa "Jakob Tjessem" na tabela Pessoas:

Nos temos que usar o seguinte comando:
   1:UPDATE Pessoas
2:SET endereco='Nissestien 67', cidade='Sandnes'
3:WHERE sobrenome='Tjessem' AND primeiro_nome='Jakob'
Depois de atualizada a tabela Pessoas ficará assim:

id
sobrenomeprimeiro_nome
enderecocidade
1HansenOlaTimoteivn 10Sandnes
2SvendsonToveBorgvn 23Sandnes
3PettersenKariStorgt 20Stavanger
4NilsenJohanBakken 2Stavanger
5TjessemJakobNissestien 67Sandnes

Atenão com o comando UPDATE!

Tenha muito cuidado atualizando registros. Se nós tivéssemos omitido a cláusula WHERE no exemplo acima da seguinte forma:
   1:UPDATE Pessoas
2:SET endereco='Nissestien 67', cidade='Sandnes'
A tabela Pessoas ficaria assim:

id
sobrenomeprimeiro_nome
enderecocidade
1HansenOlaNissestien 67
Sandnes
2SvendsonToveNissestien 67
Sandnes
3PettersenKariNissestien 67
Sandnes
4NilsenJohanNissestien 67
Sandnes
5TjessemJakobNissestien 67 Sandnes

Fonte

O comando INSERT INTO

O comando INSERT INTO é usado para inserir uma nova linha em uma tabela.

A sintaxe do INSERT INTO

É possível escrever o comando INSERT INTO de duas formas:

A primeira não especifica os nomes de colunas onde os dados serão inseridos. Somente os valores:
   1:INSERT INTO nome_tabela
2:VALUES (valor1, valor2, valor3,...)
A segunda forma especifica tanto as colunas como os valores a serem inseridos:
   1:INSERT INTO nome_tabela (coluna1, coluna2, coluna3,...)
2:VALUES (valor1, valor2, valor3,...)
Exemplo de INSERT INTO

Nós temos a seguinte tabela de Pessoas:

idsobrenome
primeiro_nomeendereco
cidade
1HansenOlaTimoteivn 10Sandnes
2SvendsonToveBorgvn 23Sandnes
3PettersenKariStorgt 20Stavanger

Agora nós queremos inserir uma linha na tabela Pessoas:
Vamos usar o seguinte comando:
   1:INSERT INTO Pessoas
2:VALUES (4,'Nilsen', 'Johan', 'Bakken 2', 'Stavanger')
A tabela Pessoas ficará assim:

id
sobrenome
primeiro_nome
endereco
cidade
1HansenOlaTimoteivn 10Sandnes
2SvendsonToveBorgvn 23Sandnes
3PettersenKariStorgt 20Stavanger
4NilsenJohanBakken 2Stavanger

Inserir dados somente nas colunas especificadas

Também é possível adicionar dados somente nas colunas especificadas:

O comando SQL a seguir irá adicionar uma nova linha com somente as colunas id, sobrenome e nome preenchidas:
   1:INSERT INTO Pessoas (id, sobrenome, primeiro_nome)
2:VALUES (5, 'Tjessem', 'Jakob')
A tabela Pessoas ficara da seguinte forma:

id
sobrenomeprimeiro_nome
enderecocidade
1HansenOlaTimoteivn 10Sandnes
2SvendsonToveBorgvn 23Sandnes
3PettersenKariStorgt 20Stavanger
4NilsenJohanBakken 2Stavanger
5TjessemJakob  

Fonte

A clausula ORDER BY

A clausula ORDER BY é usada para ordenar o resultset por uma ou mais colunas. Por padrão ela ordena os registros de forma crescente. Se você quer que os registros apareçam em uma ordem decrescente, você pode usar a palavra DESC.

A sintaxe do ORDER BY
   1:SELECT nome_coluna(s)
2:FROM nome_tabela
3:ORDER BY nome_coluna(s) ASC|DESC
Exemplo de ORDER BY

A tabela Pessoas:

id sobrenome primeiro_nome endereco cidade
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
4 Nilsen Tom Vingvn 23 Stavanger

Agora nós queremos selecionar todos os registro da tabela acima ordenados pelo sobrenome.

Nós usamos o seguinte comando SELECT:
   1:SELECT * FROM Pessoas
2:ORDER BY sobrenome
O resultado séra o seguinte

idsobrenomeprimeiro_nomeenderecocidade
1HansenOlaTimoteivn 10Sandnes
4NilsenTomVingvn 23Stavanger
3PettersenKariStorgt 20Stavanger
2SvendsonToveBorgvn 23Sandnes

Exemplo de ORDER BY DESC

Agora nos vamos selecionar todas as pessoas da tabela acima ordenado de forma decrescente pelo sobrenome.

O comando SELECT a ser usado é o seguinte:
   1:SELECT * FROM Pessoas
2:ORDER BY sobrenome DESC
O resultado será o seguinte:

idsobrenomeprimeiro_nomeenderecocidade
2SvendsonToveBorgvn 23Sandnes
3PettersenKariStorgt 20Stavanger
4NilsenTomVingvn 23Stavanger
1HansenOlaTimoteivn 10Sandnes


Fonte

Os operadores AND e OR

Os operadores AND e OR (correspondentes a E e OU) são usados para filtrar registros baseado em mais de uma condição.

O operador AND mostra um registro se tanto a primeira como a segunda condição é verdadeira.

O operador OR mostra um registro tanto se a primeira ou a segunda condição for verdadeira.

Exemplo do operador AND

A tabela Pessoas:

id sobrenome primeiro_nome endereco cidade
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

Agora nos queremos selecionar somente as pessoas com o primeiro_nome igual a 'Tove' e o sobrenome igual a 'Svendson':

Nós usamos o seguinte comando SELECT:
   1:SELECT
2: *
3:FROM Pessoas
4:WHERE
5: primeiro_nome='Tove' AND sobrenom='Svendson'
O resultset será o seguinte:

id sobrenome primeiro_nome endereco cidade
2 Svendson Tove Borgvn 23 Sandnes

Exemplo do operador OR:

Agora nos queremos selecionar somente as pessoas com o primeiro_nome igual a 'Tove' OU o primeiro nome igual a 'Ola':

Nos usamos o seguinte comando SELECT:
   1:SELECT
2: *
3:FROM Pessoas
4:WHERE
5: primeiro_nome='Tove' or
6: primeiro_nome='Ola'
O resultset séra o seguinte:

id sobrenome primeiro_nome endereco cidade
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes

Combinando AND e OR
Você também pode combinar AND e OR (usando parênteses para formar expressões complexas).

Agora nos queremos selecionar somente as pessoas com o sobrenome igual a 'Svendson' e o primeiro nome igual a 'Tove' ou 'Ola':

Nós usamos o seguinte comando SELECT:
   1:SELECT
2: *
3:FROM Persons WHERE
4: sobrenome='Svendson'
5: AND (primeiro_nome='Tove' OR primeiro_nome='Ola')

O resultado será o seguinte:

id sobrenome primeiro_nome endereco cidade
2 Svendson Tove Borgvn 23 Sandnes

Fonte