PplWare Mobile

Vamos dar uns toques em queries SQL? IV

                                    
                                

Este artigo tem mais de um ano


Autor: Pedro Pinto


  1. Paraoh says:

    Bom tutorial! Apenas deixo uma pequena achega.

    Na clausula ORDER BY, também se pode ordenar pela posição do campo no SELECT.

    O exemplo 5 ficaria:

    SELECT nome, nascimento
    FROM `tbl_ppware`
    ORDER BY 2

    Keep up the good work 😉

    • Pedro Pinto says:

      Sim, é outra alternativa.

      Thanks

    • Pedro Gaspar says:

      Como disse no artigo anterior a linguagem SQL permite-nos usar varias maneiras para chegar ao meu resulgado, agradeço que vão metendo outras alternativas para as podermos discutir, esta por acaso não conhecia… estamos sempre a aprender, thanks 🙂

    • Carlos Rente says:

      Apesar de também não conhecer este formato, não o recomendo. Quancomeçamos a precisar de criar queris mais complexas que envolvem select’s dentro de select’s de certeza que se torna mais confuso.

      • Paraoh says:

        Lá está, isso vai depender da complexidade da query.

        Não se deve usar a mesma fórmula para tudo.

        Senão, fazia-se (quase) sempre switch em vez de ifs nas linguagens de programação, e não é isso que acontece.

        Apenas complementei para se um dia virem isso em algum código não estranharem.

  2. eu mesmo says:

    espero q n sejam os numeros de telefone verdadeiros 😮

  3. rente says:

    desconhecia o limit. pode-se dizer que o limit e a funcionalidade TOP mais avançada correcto?

    • Pedro Gaspar says:

      Boas, desconhecia essa unção TOP, mas pelo que estive a ler, sim, o TOP e uma forma do LIMIT 🙂
      PS: se arranjares ai uma query com top ate agradecia para testar, estive a tentar usar com mysql e deu-me erro.. 😛

      • Carlos Rente says:

        Eu uso o TOP em SQL Server, não sei se é extensível a todas as BD’s.

        O Top selecciona as n primeiras linhas de uma query.
        Como exemplo podemos ter:

        SELECT TOP 5 nome, nascimento
        FROM `tbl_ppware`

        ou mesmo:

        SELECT TOP 5 *
        FROM `tbl_ppware`

        E o resultado serão os primeiros 5 registos.

        Dou grande uso a esta funcionalidade quando preciso de ver que tipo de valores são colocados em certas tabelas e para não receber muitas das vezes milhares de registos é ideal.

    • Paraoh says:

      MySQL não suporta a clausula TOP.

  4. Uma dúvida says:

    Surgiu-me agora aqui uma dúvida, gostaria que esclarecessem, o que é o domínio de uma relação e o domínio de um atributo?
    e porque são importantes?

  5. Ruben says:

    Quanto a alguns dos comandos e considerando o oracle como banco de dados, tenho a dizer o seguinte:
    -> o comando LIMIT não é suportado em oracle
    -> o comando TOP não é suportado em oracle

    Como fazer então??? Estes dois comandos podem facilmente ser substituidos pelo ROWNUM:

    –exemplo simples do comando LIMIT em oracle (com e sem betwen)
    SELECT *
    FROM tabela
    WHERE rownum BETWEN 10 AND 20
    OR (rownum >= 10 AND rownum == 10 AND campo1 == 1
    )
    WHERE rownum < 5
    ORDER BY total DESC, campo1 ASC, campo2 ASC;

    Não sei se já se explicou aqui como se encadeiam querys, daí que quis complicar e mostrar algum exemplo um bocadinho mais complexo para este nível. Mas enfim, nada de chegar a uma folha A4 totalmente preenchida! lol

    Para os iniciados: http://www.w3schools.com/sql/default.asp
    Tá tudo "escarrapachadinho"!! lol

  6. FXX says:

    Continuem este bom trabalho.

  7. Trambulhao says:

    Pedro Pinto, acredito que você escreveu a sintaxe para o LIMIT o mais compreensível possível, mas não está correto.

    Isso é errado: LIMIT inicio, fim

    O correto seria: LIMIT [registo_inicial,] número_de_registo

    Assim, o primeiro parâmetro seria opcional. Portanto, quando for definido apenas um parâmetro, este é o segundo.

    O artigo explica claramente, é verdade mas a sintaxe coloca em dúvida.

    Parabéns pela matéria

  8. Bruno says:

    Olá, venho alertar-vos para uma pequena gralha no último exemplo, pois a tabela apresentada não corresponde à query referida. 😉

  9. Daniel says:

    Ia mesmo agora referir essa mesma gralha =) Já estava a estranhar ninguém a ter apontado!

Deixe um comentário

O seu endereço de email não será publicado.

You may use these HTML tags and attributes: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

Aviso: Todo e qualquer texto publicado na internet através deste sistema não reflete, necessariamente, a opinião deste site ou do(s) seu(s) autor(es). Os comentários publicados através deste sistema são de exclusiva e integral responsabilidade e autoria dos leitores que dele fizerem uso. A administração deste site reserva-se, desde já, no direito de excluir comentários e textos que julgar ofensivos, difamatórios, caluniosos, preconceituosos ou de alguma forma prejudiciais a terceiros. Textos de caráter promocional ou inseridos no sistema sem a devida identificação do seu autor (nome completo e endereço válido de email) também poderão ser excluídos.