简单介绍几个常用的SQL查询语句

作者:烟中隐约闪现 | 创建时间: 2023-04-02
1、查询指定列 2、 使用like操作符(%,_) 3、group by(用于对查询结果的分组统计) 和 having子句(用于限制分组显示结果) 4、子查询(嵌入到其他sql语句中的select语句,也叫嵌套查询)...
简单介绍几个常用的SQL查询语句

操作方法

1、查询指定列 SQL>SELECT 字段名1, 字段名2, 字段名3 FROM 表名; SQL>SELECT DISTINCT 字段名1 FROM 表名; 注:第二个sql语句是只显示结果不同的项,也叫去重,DISTINCT是关键字,放在字段名前,可以实现去重效果。

2、 使用like操作符(%,_) SQL>SELECT * FROM emp WHERE ename like 'S__T%'; 注:like用于模糊查询,%表示一个或多个字符,_表示一个字符,[charlist]表示字符列中的任何单一字符,[^charlist]或者[!charlist]不在字符列中的任何单一字符。

3、group by(用于对查询结果的分组统计) 和 having子句(用于限制分组显示结果) SQL>SELECT deptno,MAX(sal),AVG(sal) FROM emp GROUP BY deptno; SQL>SELECT deptno, job, AVG(sal),MIN(sal) FROM emp group by     deptno,job having AVG(sal)<2000; 注: 1> 分组函数只能出现在选择列表、having、order by子句中(不能出现在where中) 2>如果select语句中同时包含有group by, having, order by,那么它们的顺序是group by, having, order by。 3>在选择列中如果有列、表达式和分组函数,那么这些列和表达式必须出现在group by子句中,否则就是会出错。 *使用group by不是使用having的前提条件。

4、子查询(嵌入到其他sql语句中的select语句,也叫嵌套查询) 1>单行子查询 SQL>SELECT ename FROM emp WHERE deptno=(SELECT deptno FROM emp where ename='SMITH');查询表中与smith同部门的人员名字。因为返回结果只有一行,所以用“=”连接子查询语句 2>多行子查询 SQL>SELECT ename,job,sal,deptno from emp WHERE job IN (SELECT DISTINCT job FROM emp WHERE deptno=10);查询表中与部门号为10的工作相同的员工的姓名、工作、薪水、部门号。因为返回结果有多行,所以用“IN”连接子查询语句。 注:in与exists的区别: exists() 后面的子查询被称做相关子查询,它是不返回列表的值的。只是返回一个ture或false的结果,其运行方式是先运行主查询一次,再去子查询里查询与其对 应的结果。如果是ture则输出,反之则不输出。再根据主查询中的每一行去子查询里去查询。in()后面的子查询,是返回结果集的,换句话说执行次序和 exists()不一样。子查询先产生结果集,然后主查询再去结果集里去找符合要求的字段列表去。符合要求的输出,反之则不输出。

点击展开全文

更多推荐