sql大数据基础题错误积累

以下删除表数据语句正确的是?(A)

  • A:delete from emp where name='dony';
  • B:Delete * from emp where name='dony';
  • C:Drop from emp where name='dony';
  • D:Drop * from emp where name='dony';
sql语句执行出现如下异常:ERROR 1146 (42S02): Table 'python1.deep' doesn't exist,异常的原因是?

答:数据库pytho1中没有deep表

Mysql常见的数据类型

主要包括以下五大类:

整数类型:BIT、BOOL、TINY INT、SMALL INT、MEDIUM INT、 INT、 BIG INT

浮点数类型:FLOAT、DOUBLE、DECIMAL

字符串类型:CHAR、VARCHAR、TINY TEXT、TEXT、MEDIUM TEXT、LONGTEXT、TINY BLOB、BLOB、MEDIUM BLOB、LONG BLOB

日期类型:Date、DateTime、TimeStamp、Time、Year

其他数据类型:BINARY、VARBINARY、ENUM、SET、Geometry、Point、MultiPoint、LineString、MultiLineString、Polygon、GeometryCollection等

emp表有4个字段, id, name, age, remark, 删除remark字段正确的语句是
alter table emp drop remark
查找表结构用
DESCRIBE table_name;

 或者

SHOW COLUMNS FROM table_name;

CREATE TABLE students(
    id int unsigned primary key auto_increment,
    name VARCHAR(20) not null unique,
    chinese int not null,
    english int not null,
    math int not null
);

INSERT INTO students VALUES(1,'张小明',89,78,90);
INSERT INTO students VALUES(2,'李进',67,53,95);
INSERT INTO students VALUES(3,'王五',87,78,77);
INSERT INTO students VALUES(4,'李一',88,98,92);
INSERT INTO students VALUES(5,'李来财',82,84,67);
INSERT INTO students VALUES(6,'张进宝',55,85,45);
INSERT INTO students VALUES(7,'黄蓉',75,65,30);

 输出成绩总分前3名的学生姓名、各科成绩、总分数

SELECT name, chinese, english, math, chinese + english + math as total FROM students ORDER BY total DESC LIMIT 3;

order by与 group by区别:

1.order by 主要用于对查询结果进行排序。它指定了按照哪些列的值对记录进行排序,默认为升序(ASC),如果想要降序排序,可以使用 `desc` 关键字。order by 可以包含一个或多个字段名,如果多个字段被指定,则按照这些字段值的顺序进行排序

2.group by 用于对查询结果进行分组。它指定了按照哪些列的值将记录分到不同的组中。在使用 group by 时,至少需要一个分组标志字段。group by 同样可以包含一个或多个字段名。聚合函数(如 `sum()`、`count()`、`avg()` 等)通常与 group by 一起使用,以便在每个组上执行聚合操作。聚合函数用于汇总属于每个组的记录。

复杂子循环

列出薪金比员工“TURNER”多的所有员工姓名(ename)、员工薪资(sal)

SELECT ENAME, SAL FROM emp WHERE SAL > (SELECT SAL FROM emp WHERE ENAME = 'TURNER');

列出薪资高于公司平均薪资的所有员工姓名、薪资。

SELECT ENAME, SAL FROM emp WHERE SAL > (SELECT AVG(SAL) FROM emp);

列出与“JONES”员工职位相同的所有员工姓名、工作职位名称(不展示JONES的姓名、工作) 。

SELECT ENAME, JOB FROM emp WHERE job = (SELECT JOB FROM emp WHERE ENAME = 'JONES') AND ENAME != 'JONES';

以上是我第一次学习sql测试的错误总结以及知识点详情还有具体写法语句格式,重点是复杂子循环语法格式写入

  • 11
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值