select 列名*N from 表名 where 查询条件1 and/or 查询条件2 group by 列 Having 分组条件 Order by 排序
2、规则
sql在书写时除了查询条件外,大小写都可以
select * from user where uname='zs';
SELECT *FROM USER WHERE UNAME='zs';
要是在公司要看其他员工sql是大写还是小写
--属于sql语句的注释
所有查询条件为字符串时,需要用''进行修饰,否则会当列名处理
3、select查询列和别名
3.1 直接查询
-- 查询所有员工信息select*from emp;
-- 查询员工姓名select ename from emp;
-- 查询员工薪资select sal from emp;
-- 查询员工姓名和薪资select ename,sal from emp;
select ename sal from emp;-- 错误,把sal当成ename别名了select ename sal comm from emp;-- 报错-- 查询员工姓名和薪资,给别名,推荐使用单引号select ename '员工姓名', sal "薪资" from emp;
-- 查询到的数据可以直接进行运算select ename,sal,sal*12from emp;
select ename,sal,comm,(sal+comm)*12from emp;
-- 字符串拼接select CONCAT(ename,' 的薪资是 ',sal) '员工薪资'from emp;
3.2 条件查询
-- 条件查询-- 查询empno=7844select*from emp where empno =7844;
-- 查询工资等于3000select*from emp where sal =3000;
-- 查询job等于salesmanselect*from emp where job ='SALESMAN';
-- 查询工资大于1000select*from emp where sal >1000;
-- 查询工资小于1000select*from emp where sal <1000;
-- 查询job不等于salesmanselect*from emp where job !='SALESMAN';
select*from emp where job <>'SALESMAN';
-- 查询工资大于等于3000select*from emp where sal >=3000;
-- 查询工资介于1600和3000之间包括1600和3000select*from emp where sal between1600and3000;
-- NULL不能用=,要用isselect*from emp where comm isnull;
3.3 in查询
-- IN查询-- 查询7499,7566,7782select*from emp where empno in(7499,7566,7782);
-- 查询除了这三select*from emp where empno notin(7499,7566,7782);
-- 如果表中没有这个编号,那么只查询其他的select*from emp where empno in(7499,7566,7782,8888);
3.4 like模糊查询
-- 模糊查询like,%表示任意字符,包括空-- 查询员工姓名最后一个字是N的信息select*from emp where ename like'%N';
-- 查询员工姓名第一个字是M的信息select*from emp where ename like'M%';
-- 查询员工姓名中带M的员工信息select*from emp where ename like'%M%';
-- 下划线_表示任意一个字符select*from emp where ename like'_M%';
-- 如果有特殊字符需要用\来转义select*from emp where ename like'%\%%';
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通