查询的基本结构:
WHERE 当;
ORDER BY 排序;
DISTINCT 去重;
BETWEEN AND 在...之间...;
IN 包括。
投影操作:
◇ 如果我们选择某个表中的多个列,那么列名之间用逗号分隔开;
◇ 如果是单个列,只需要列出该列的列名即可;
◇ 如果选择所有的列,可以简单地用“*”号代替列名列表。
示例:
SELECT StudentID,ExamID FROM Student;
表名前缀:
1)可以了解信息从哪个表中来;
2)允许我们区分不同表的同列名。
列别名:
SELECT t_Student AS Studengt FROM Student; /*t_Studengt将以Student显示*/
计算列:
INSERT INTO games SELECT g_city,g_year+12 FROM games; /*所有的数据纳入,年份12年*/
排除重复数据:
在SELECT后加DISTINCT /*查询唯一,排除重复值*/
执行范围测试(3种查询方式):
SELECT t_Student FROM Student WHERE t_StudentID=2; /*查询Student里t_Student为2的学生,并显示t_Student列*/
SELECT t_Student FROM Student WHERE t_StudentID BETWEEN 2 AND 11; /*查询Student里t_Student为2到11之间(包括2和11)的学生,并显示t_Student列*/
SELECT t_Student FROM Student WHERE t_StudentID IN(2,5,8); /*查询Student里t_Student不为空的学生,并显示t_Student列*/
SELECT t_Student FROM Student NOT IS NULL; /*查询Student里t_Student为2的学生,并显示t_Student列*/
模糊查询:
SELECT 列A,列B FROM 表 WHERE 列C LIKE 模式;
模式匹配通配符含义:
通配符:% 包含零个或更多字符的任意字符串 支持所有RDBMS
_ 任何单个字符 支持所有RDBMS
◇使用模式匹配时要特别注意细节,有时候在模式中包含一个空格会导致不同的结果(通配符也是关键字)。
在有外键的情况下,先添加主表数据,再添加从表数据;
<>和^=都表示不等于(!=);
*通配符,匹配所有;
关键字AS可以省略;
LIMIT返回行是从0开始的(类似数组),LIMIT 2,3(从第三行开始,显示三行),LIMIT 2(从第一行开始,显示两行);
查询为空的数据,要用关键字IS;
错误类型:Column count doesn't match value count at row 1(行不匹配);
Round函数——取整