SQL 常用操作

时间:2021-12-03 08:32:42

今天网龙笔试遇到了几个SQL题,现在顺便就总结一下常用的SQL操作。

内连接:只将符合条件的行显示出来

SELECT s.name,m.mark FROM student s,mark m WHERE s.id=m.studentid;
SELECT s.name,m.mark FROM student s INNER JOIN mark m ON s.id=m.studentid

左连接:将左表所有的行显示,右表只显示符合条件的行

SELECT s.name,m.mark FROM student s LEFT JOIN mark m ON s.id=m.studentid;

SQL 常用操作

全连接:将所有行都显示出来,不论两表是否有符合的对应项

SELECT s.name,m.mark FROM student s FULL JOIN mark m ON s.id=m.studentid

复制A表

CREATE Table_B LIKE Table_A;

SELECT* INTO Table_B FROM Table_A;  /*B表不存在,自动创建B表*/

INSERT INTO Table_B(fld1, fld2) SELECT fld1, 5 from Table_A;  /*B表存在*/

将A表的column为1的结果抽取给B表

INSERT Table_B SELECT * FROM Table_A WHERE column=1;

根据column为B表建立降序索引

CREATE INDEX Index_B ON Table_B(column desc);

根据date统计B表

SELECT COUNT(*) FROM Table_B GROUP BY date;

在B表中删除id=1的列

DELETE FROM Tabe_B WHERE id=1;

删除index和删除B表

DROP INDEX Index_B;
DROP TABLE Table_B: