题目:
编写查询,查找表中的行总数。
编写查询,消除表结果中的重复记录。
编写查询,获取t_employee表中designation字段前3个字符。
查询t_employee表,合并输出Designation和Department两个字段的内容。
如果使用union和union all合并4条SQL子查询,union会有多少次被用来去除重复行?
IN和BETWEEN之间的区别是什么,在WHERE子句中如何使用?
解释“LIKE”关键字在WHERE子句中如何使用?SQL有哪些通配符?
怎样使用“LIKE”语句?
解释 GROUP BY 和 HAVING 子句的用法。
在t_employee表中,department字段可为空。编写查询,获取尚未分配部门的员工。
答案:
select count(*) from tblsample;
Select distinct * from tblSample;
Select substr(designation,1,3) from t_employee;
Select Designation + ‘ ‘ + Department from t_employee;
1次。
BETWEEN子句是用来获取一个范围值,而IN子句是从指定值列表中获取对应数据。
LIKE是用于部分字符串的匹配。SQL有两个通配符,“%”(匹配字符串的任何字符)和“_”(匹配任意单个字符)。
在局部搜索中使用。例如,你需要找到lastname包含“gat”字母的所有员工,那么你可以使用下面的查询、匹配搜索条件:
Select empid, firstname, lastname from t_employee where lastname like ‘%gat%’;
这可能会搜索到lastname包含字符“gat”的所有雇员,像Gates、Gatsby、Gatsburg、Sogatsky...
"%"用于表示名称中剩余的所有字符。这个查询获取在字符串中包含“gat”的所有记录。
利用group by子句分组数据,当select语句中使用到组函数和字段一起连用时会用到group by,否则会出现错误。Group by 把select查询的结果集分成几个小组,这个group by子句可以跟在where后面且在having前面。Group by子句也会触发排序操作,会按分组字段排序。 b
Select empid, firstname, lastname from t_employee where department is null;