SELECT * FROM TABLE_NAME WHERE COLUMN_A LIKE ‘[HELLO]%’:查询COLUMN_A的值已HELLO任一字符开头的记录。
SELECT * FROM TABLE_NAME WHERE COLUMN_A LIKE ‘H_L_O’:查询COLUMN_A 的值在1,3,5位是HLO的记录,例如HELLO是符合的。
SELECT * FROM TABLE_NAME WHERE COLUMN_A LIKE ‘[!HELLO]%’:查询COLUMN_A 的值的第一个字符不能以HELLO中任意字符开头的记录。
SELECT * FROM TABLE_NAME WHERE COLUMN_A LIKE ‘%HELLO%’:查询COLUMN_A 的值中包含HELLO的记录。
4.IN:在筛选条件中添加一个结果集来控制判断条件。
SELECT * FROM TABLE_NAME WHERE COLUMN_A IN ( ‘VALUE1’,’VALUE2’):查询出COLUMN_A列的值属于值括号里面的集合的记录。
5.BETWEEN… AND…: 查询两个值之间的记录,这两个值可以是数字,也可以是文本
SELECT * FROM TABLE_NAME WHERE COLUMN_A BETWEEN ‘VALUE1’ AND ‘VALUE2’ :查询出COLUMN_A的值在VALUE1和VALUE2之间的数据。在MSSQL中,包括VALUE1,不包括VALUE2,在实际的数据库中,需要具体在去查寻规则。
6. ALIAS : 别名,可以给列名称或者表明称来指定别名。
表: SELECT COLUMN_A FROM TABLE_A AS TABLE_B ;
列: SELECT COLUMN_A AS COLUMN_B FROM TABLE_NAME ;
主要是为了在多表查询的语句中需要指明表的情况下来给一个简单的别名来声明。
SELECT A.COLUMN_A , B.COLUMN_B FROM TABLE_A AS A , TABLE_B AS B WHERE A.ID = B.ID
7. JOIN : 多表联合查询
使用JOIN和INNER JOIN是一样的,只有满足ON条件的时候,才会有结果返回。
JOIN : SELECT A.COLUMN_B , B.COLUMN_D FROM TABLE_A AS A LEFT JOIN TABLE_B AS B ON A.COLUMN_B = B.COLUMN_D;这个会返回所有符合A表中COLUMN_B和B表中COLUMN_D相等的记录中的A表的COLUMN_B和B表中的COLUMNE_D,如果没有符合A表中COLUMN_B和B表中COLUMN_D相等的记录,将返回空。
LEFT JOIN : SELECT A.COLUMN_B , B.COLUMN_D FROM TABLE_A AS A LEFT JOIN TABLE_B AS B ON A.COLUMN_B = B.COLUMN_D ; 首先返回左表所有的的数据,然后把符合A表中COLUMN_B和B表中COLUMN_D相等的记录的B表中COLUMN_D返回,不符合的在B表中COLUMN_D列填null 。
SELECT A.COLUMN_A , B.COLUMN_C , C.COLUMN_B FROM TABLE_A AS A LEFT JOIN TABLE_B AS B ON A.COLUMN_A=B.COLUMN_C LEFT JOIN TABLE_C AS C ON A.COLUMN_A = C.COLUMN_B
多于两个表同样符合这种情况,一一对应。
RIGHT JOIN : 和LEFT JOIN 一样,不过是返回右表TABLE_B的全部数据和符合条件的左表数据。