资兴市网站建设专业,963中华室内设计网,高端t恤定制网站,seo是什么服b站视频#xff1a;
14-最基本的SELECT...FROM结构_哔哩哔哩_bilibili 8.4 基本查询(Select)语句
数据table: emp员工表创建如下
# 员工表
CREATE TABLE EMP
(EMPNO INT PRIMARY KEY, -- 员工编号ENAME VARCHAR(10), -- 员工名称JOB VARCHAR(9), -- 工…b站视频
14-最基本的SELECT...FROM结构_哔哩哔哩_bilibili 8.4 基本查询(Select)语句
数据table: emp员工表创建如下
# 员工表
CREATE TABLE EMP
(EMPNO INT PRIMARY KEY, -- 员工编号ENAME VARCHAR(10), -- 员工名称JOB VARCHAR(9), -- 工作MGR DOUBLE, -- 直属领导编号HIREDATE DATE, -- 入职时间SAL DOUBLE, -- 工资COMM DOUBLE, -- 奖金DEPTNO INT, -- 部门号FOREIGN KEY (DEPTNO) REFERENCES DEPT (DEPTNO)
);INSERT INTO EMP
VALUES (7369, SMITH, CLERK, 7902, 1980-12-17, 800, NULL, 20);
INSERT INTO EMP
VALUES (7499, ALLEN, SALESMAN, 7698, 1981-02-20, 1600, 300, 30);
INSERT INTO EMP
VALUES (7521, WARD, SALESMAN, 7698, 1981-02-22, 1250, 500, 30);
INSERT INTO EMP
VALUES (7566, JONES, MANAGER, 7839, 1981-04-02, 2975, NULL, 20);
INSERT INTO EMP
VALUES (7654, MARTIN, SALESMAN, 7698, 1981-09-28, 1250, 1400, 30);
INSERT INTO EMP
VALUES (7698, BLAKE, MANAGER, 7839, 1981-05-01, 2850, NULL, 30);
INSERT INTO EMP
VALUES (7782, CLARK, MANAGER, 7839, 1981-06-09, 2450, NULL, 10);
INSERT INTO EMP
VALUES (7788, SCOTT, ANALYST, 7566, 1987-07-13, 3000, NULL, 20);
INSERT INTO EMP
VALUES (7839, KING, PRESIDENT, NULL, 1981-11-17, 5000, NULL, 10);
INSERT INTO EMP
VALUES (7844, TURNER, SALESMAN, 7698, 1981-09-08, 1500, 0, 30);
INSERT INTO EMP
VALUES (7876, ADAMS, CLERK, 7788, 1987-07-13, 1100, NULL, 20);
INSERT INTO EMP
VALUES (7900, JAMES, CLERK, 7698, 1981-12-03, 950, NULL, 30);
INSERT INTO EMP
VALUES (7902, FORD, ANALYST, 7566, 1981-12-03, 3000, NULL, 20);
INSERT INTO EMP
VALUES (7934, MILLER, CLERK, 7782, 1982-01-23, 1300, NULL, 10);
8.4.1 select...from
最基本的select语句 SELECT 标识选择哪些列 FROM 标识从哪个表中选择 实例1
select 11,3*2;
结果 实例2
dual 伪表
select 11,3*2
from dual;
结果 8.4.2 列的别名
语法AS 别名
说明
1可以给字段取别名、可以给表名取别名
2AS 可以省略
3如果给字段取别名如果别名中包含特殊符号例如“空格”等建议给别名加上双引号
4如果是给表名取别名那么不能加双引号或单引号也不能有特殊符号例如“空格”等
5建议别名简短见名知意
示例
# 查询员工姓名以及工作
select ENAME as 员工姓名,JOB as 工作
from emp;
8.4.3 去除重复行
默认情况下查询会返回全部行包括重复行 # 查询员工表的部门编号 select DEPTNO from emp; 结果
出来所有的部门编号 # 查询员工表的部门编号
select distinct DEPTNO
from emp; 结果 这里有两点需要注意 Distinct 需要放到所有列名的前面如果写成select ename, distinct deptno from emp;会报错 distinct其实是会对后面所有的列名的组合进行去重。你能看到最后的结果是12条因为这12条部门id不同都有sal这个属性值。如果你想要都有哪些不同的部分DEPTNO),只需要写DISTINCT DEPTNO即可后面不需要再加上其他的列名了。 select distinct DEPTNO, SAL
from emp; 结果 练习牛客网-SQL 39 8.4.4 空值参与运算
所有运算符或列值遇到null值运算的结果都为 null
这里你一定要注意在 MySQL 里面 空值不等于空字符串。一个空字符串的长度是 0而一个空值的长 度是空。而且在 MySQL 里面空值是占用空间的 NULL不等同于0,null; 8.4.5 着重号
我们需要保证表中的字段、表名等没有和保留字、数据库系统或常用方法名冲突。如果真的相同请在SQL语句中使用一对着重号引起来 例如 mysql SELECT * FROM ORDER;
8.4.6 显示表结构
使用DESCRIBE 或 DESC 命令表示表结构。 # 显示了表中字段的详细信息
desc emp; 结果 8.4.7 总结
1如果SELECT后面是*那么表示查询所有字段
2SELECT后面的查询列表可以是表中的字段常量值表达式函数
3查询的结果是一个虚拟的表
4select语句可以包含5种子句依次是where、 group by、having、 order by、limit必须照这个顺序。