sql简单查询

it2022-05-05  169

  用了C#、PHP、Java等开发一些东西,感觉sql很重要,不管对功能或性能上都需要精益求精的操作数据库,而此时程序员对sql语句的掌握尤其重要,很多时候如果不知道一些关键字查询,只知道简单的select和连接查询,或许在做东西的时候,只需要一个多表连接查询就可以解决的,就会很笨重的写成先查询出一部分,然后做一个循环,在根据查询生成n个sql语句在查询出n个结果集,或为了避免重复全部查询之后,在用相关的语言来消除重复记录。如果你还停留在这个水平的话我建议还是把sql再深入学习一下吧,这样的水平根本拿不出手。

  这周看了《SQL完全手册》,看了前八章左右,很多都是以前常用的,以及没有技术含量的东西,不过也会忽略一些细节。大概整理了一些,不是很详细,供以后查询使用,也希望放在博客上对其他人有些帮助。

  

重复的记录(DISTINCT)

    select distinct field from table_name  可以避免查询出重复的field字段。

    与其对应的,也可以是默认的select all from。。。

 

搜索条件(where)

    比较测试:=、<>、<、>、<=、>=

        在sql的3值逻辑下,一个搜索条件可以产生TRUE、FALSE或者NULL值,只有其搜索条件产生TRUE的那些记录才被包含在查询结果中。

 

    范围测试(BETWEEN):

        select field from table_name (not) between .. and ...

        A BETWEEN B AND C == (A >= B) AND (A<=C)

        当按值的条件范围考虑搜索条件时,BETWEEN测试是一种较为简单的方法。

    组成员测试(IN)

        它测试一个数据值是否匹配一组目标值中的一个。

        eg:select field from table_name where field (not) in (value1,value2,value3)

        与BETWEEN测试一样,IN测试并不增加SQL的表达能力:

            X IN(A,B,C)  ==  (X=A) OR (X=B) OR (X=C)

    模式匹配测试(LIKE):

        通配符字符:

            1. % 匹配任何顺序的0个或多个字符

            2. _ 匹配任何单个字符

    转义字符

        有时需要查询的条件中包含sql内置的模式匹配字符,就需要使用转移字符进行表达,此时需要用ESCAPE制定自定义的转义符:

            select * from table_name where field like 'A$ 

转载请注明原文地址: https://win8.8miu.com/read-8276.html

最新回复(0)