PplWare Mobile

Vamos dar uns toques em queries SQL? III

                                    
                                

Este artigo tem mais de um ano


Autor: Pedro Pinto


  1. Muito bom post! Continua assim! 😀

  2. João Dias says:

    Também gostei imenso do tutorial, desconhecia de algumas queries que foram aqui mostradas.

  3. tb says:

    No ex. 3 poderias usar tb “between” 😉

  4. Vitor says:

    Semana passada alguém comentou algo a respeito de que não devemos utilizar o “like”. O que deveríamos utilizar então? e como?

    • Pedro Gaspar says:

      Boas Vitor, em strings não tens muito por onde fugir do like..
      Agora falando em numeros (por exemplo valores inteiros) podes e deves evitar, pois o like e uma operação um pouco pesada…
      Por exemplo nos nrs de telefone fixos.. sabes que têm 9 digitos e que começam por 2 (em portugal claro) a melhor forma seria usar o between: “BETWEEN 200000000 AND 299999999”
      🙂

      • pfbatista says:

        Claro… mas isso só funciona se o tipo de campo for numérico.

        Normalmente, numa BD, como o numero de telefone pode ser um numero estrangeiro é necessário coloca-lo como texto, já que torna-se obrigatório guardar o indicativo de país (claro que é necessário criar uma máscara de validação no form, etc, etc, etc…) o between deixa de fazer sentido..

        É óbvio que o Like deve ser omitido… quando possível… mas em queries complexas torna-se praticamente impossível omiti-lo na totalidade.

        Uma forma de acelerar e não se notar a utilização do Like, deve-se ter uma BD bem configurada (as diversas chaves) e deve-se igualmente ter criado os vários indices, nos campos normalmente utilizados para filtros… isto ajuda e optimiza muito as queries a BD

  5. Paraoh says:

    Bom artigo! No entanto penso que o cógido poderia estar melhor apresentado. Tal como em linguagens de programação temos estilos de indentação, seria bom usar também em MySQL

    O exemplo 3 ficaria assim:

    SELECT nome, nascimento
    FROM `tbl_ppware`
    WHERE nascimento >= 1970 AND nascimento < 1980

    Penso que é muito mais fácil de ler, pois identificasse o que está a ser selecionado, de quais tabelas, e quais as condições em causa.

  6. Jesus says:

    Muito bom. Em alternativa ao BETween temos os operadores >=,,< …
    Podia haver um exemplo com datas, que esta semana me chateou deveras, é que em buscas com SQL com datas é usada a notação inglesa mm/dd/yyyy.

    Podia haver uma articulação com os artigos em PHP e javascript, os envolvidos poderiam falar uns com os outros e organizavam-se de maneira a que um artigo php terminava num exemplo sql, que seria desenvolvido num destes artigos, e o retorno nos resultados poderia ser feito em outro artigo de javascript.

    A continuar com a iniciativa.

  7. JPedrosa says:

    Boa iniciativa.

    Talvez fosse importante mostrar como se organiza o query quando temos um “or” mas mais de duas condições.
    ex: where (x > 0 or y < 20) and x 0 or (y < 20 and x < y)

  8. Marcio says:

    Bom artigo.
    Acho que devias realçar alguns aspectos nos exemplos.
    Assim sugiro fazer referência ao campo ‘ nascimento ‘ que deverá ser int para que seja possível comparar numeros como no ex.
    De referir ainda que no ultimo exemplo, o LIKE ‘pedro%’ poderá
    ser null se for case sensitive.
    Abraço

  9. Caetano says:

    Perdoem a minha ignorância.
    Já percebi que o SQL trata dados e pode servir para o que procuro. Mas, qual é a aplicação que corre isto?
    Possuo um ficheiro em excel no qual tenho os dados, contudo, este é apenas usado num posto. Eu quero um programa que esteja em rede e que seja possível efectuar alterações em vários postos ao mesmo tempo.

    Obrigado amigos.

    • lmx says:

      boas..
      nesse caso cria uma base de dados e importa os dados da tua excel sheet, e cria uma aplicação para correr em todos os clientes e pronto…
      as aplicações que correm o sql…?!o sql é uma linguagem estructurada de pesquisa.O que te vai fazer a pesquisa são os motores de pesquisa que existem nas bases de dados(é um conjunto de software).
      tens muitas opções desde Mysql,M$ sql,…..
      também podes criar em Base(openofice ou libreofice), isto deve sobrar para o que queres.

      cmps

    • Emerson Luiz says:

      Caetano,
      Você está precisando de um sistema web, que utilize um banco de dados.
      Desta forma você terá suas informações disponiveis 24 horas, para você acessar. E ainda uma fácil integração com as outras filiais de seus postos.

      Emerson-Brasil/Santos

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.