一、SELECT基本语句
1. SELECT * FROM 表名;
2. SELECT * FROM 表名 WHERE column name = '待查找数据'
3.SELECT column name1,column name2 FROM 表名 WHERE column name3 = '待查找数据'
① 查询的列名和WHERE子句的查询列名很少是一样的,此方法可用以确认column name1里是否有错别字;
例句:SELECT column name1 FROM 表名 WHERE column name1 = '待查找数据'
② 从网上复制粘贴查询,使用时可能会出错。原因是网上的数据可能有外观向空格但是实际是其他含义的隐形字符,需先将其粘贴到文本编辑器(Notepad)中即可移除隐形字符(不要粘贴到WORD里)。
二、各个符号解释
1. ‘ * ’代表从表中查找所有的数据;
2. WHERE子句运算符右边部门类型数据需要加单引号,规则同上一章INSERT语句加单引号一样;
3. WHERE子句可以使用各类运算符。
三、单引号—特殊字符
1. 单引号必须成对出现;
2. 如未成对出现,例如: INSERT INTO 表名 (列名) VALUES ('lucy's BOOK ')
RDBMS将会提示错误,是因为" lucy's " 里多了一个单引号;
正确写法有两种:
① 单引号前加' \ ',例如:INSERT INTO 表名 (列名) VALUES ('lucy\'s BOOK ');
② 单引号后再加一个单引号,例如:INSERT INTO 表名 (列名) VALUES ('lucy''s BOOK ')。
注:双引号在其他编程语言中代表其内的内容是SQL语句
四、SELECT进阶语句
1. 结合查询,使用‘AND’可以同时处理多项查询
SELECT column name1 FROM 表名 WHERE column name2 = '待查找数据2' AND column name3 = '待查找数据2' AND column name4 = 数值
2. 结合查询可以使用运算符
SELECT column name1 FROM 表名 WHERE column name2 = '待查找数据2' AND column name3 = '待查找数据2' AND column name4 > 数值
3. 对文本使用比较运算符
比较运算符会按字母顺序地评估所有事物的大小
4. 使用‘OR’查询,返回任何符合条件之一的记录
SELECT column name1 FROM 表名 WHERE column name2 = '待查找数据2' OR column name3 = '待查找数据2' OR column name4 = 数值
5. 同一个WHERE语句中可以使用多个'AND'和'OR',而且还可以同时使用它们
6. 用‘IS NULL’找出NULL
SELECT column name1 FROM 表名 WHERE column name2 IS NULL
7. 关键词'LIKE'
SELECT column name1 FROM 表名 WHERE column name2 LIKE '%待查找数据%'
① ‘ % ’是SQL语句里的通配符,和VBA语句里的‘ * ’一样,表示任意数量的未知字符;
② ‘_’ 是SQL语句里的通配符,和VBA语句里的‘?’一样,表示一个的未知字符;
8. 关键词 'BETWEEN '
SELECT column name1 FROM 表名 WHERE column2 name BETWEEN 20 AND 100;
① 用BETWEEN时,数字包含所写的数字,即是20—100,不是19—99;
② 应先写数字较小的,再写较大的,否则无法运算;
③ 再对文本类型的列使用时,BETWEEN后面较大的数字应多写一位,例:
SELECT column name1 FROM 表名 WHERE column2 name BETWEEN 'G' AND 'P';
表示查找的是以G—O开头的文本名称;
9. 非关键词'IN',可以告诉RDMBS接下来是值得集合,只要列值能匹配集合中的任何值,即可返回改行或列
SELECT column name1 FROM 表名 WHERE column2 name IN ('数据1','数据2','数据3');
它的原始语句是
SELECT column name1 FROM 表名 WHERE column2 name='数据1' OR column2 name='数据2' OR column2 name='数据3'
同理,可以使用'NOT IN'
10. 'NOT'的位置问题
① NOT 应跟在WHERE之后
② 'AND'和'OR'语句里使用'NOT',直接跟在'AND'和'OR'后面,如
WHERE NOT column name1= '数据1'
AND NOT column name2 = '数据2'
OR NOT column name3 = '数据3'
③ 'NOT IN' 和 'IS NULL' 是例外
WHERE NOT column name IN('数据1','数据2','数据3')
等于
WHERE column name NOT IN('数据1','数据2','数据3')
...
WHERE NOT column name IS NULL
等于
WHERE column name IS NOT NULL