SQL基础语句总结

写在前面:SQL是工作中一个非常重要的工具,它使用的关键字和语法并不复杂,今天稍作总结,加深记忆。

SELECT

  • SELECT 列名称 FROM 表名称
    从表中选取指定的列,可以同时指定多个列,以“,”隔开。
  • SELECT * FROM 表名称
    从表中选取所有的列 。
  • SELECT DISTINCT 列名称 FROM 表名称
    返回唯一不同的值,即不包含重复值。

SELECT的结果被存在一个结果集中。

使用子查询

  • 可以把一条SELECT语句返回的结果用于另一条SELECT语句的WHERE子句
  • 作为计算字段使用子查询
  • 逐渐增加子查询来建立查询,尤其适用于语句和数据比较复杂的情况

WHERE

  • SELECT 列名称 FROM 表名称
    WHERE 列 运算符 值
    WHERE后可以设置组合条件,以逻辑运算符ANDOR连接。

  • SELECT 列名称 FROM 表名称
    WHERE 列 IN (值1,值2…)
    使用IN操作符在WHERE子句中规定多个值。

  • SELECT 列名称 FROM 表名称
    WHERE 列 BETWEEN 值1 AND 值2
    使用BETWEEN操作符在WHERE子句中规定值的范围

ORDER BY

  • SELECT 列名称 FROM 表名称
    ORDER BY 列名称
    ORDER BY语句默认按照升序进行排序,可以使用DESC关键字设置成降序排列。

GROUP BY

  • SELECT 列名称 FROM表名称
    GROUP BY 列名称

若分组的列中具有NULL值,则将NULL值作为一个分组返回。
所有使用WHERE的语句都可以用HAVING代替,唯一的区别是,WHERE过滤行,HAVING过滤分组。

LIMIT

  • SELECT 列名称 FROM表名称
    LIMIT 行号,行数
    使用LIMIT语句指定返回第几行或前几行或第几行至第几行。

行数不够时,将返回能够返回的行。

SELECT子句顺序

SELECT——FROM——WHERE——GROUP BY——HAVING——ORDER BY——LIMIT

JOIN ON

  • SELECT 列名称 FROM 表1
    INNER/LEFT/RIGHT/FULL JOIN 表2
    ON 表1.列名称 = 表2.列名称
    用于根据两个或多个表中的列之间的关系,从这些表中查询数据。

INNER JOIN:在表中存在至少一个匹配时,返回行。
LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行。
RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行。
FULL JOIN:只要其中一个表中存在匹配,就返回行。

UPDATE与DELETE

  • UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 值
    用于修改表中数据
  • DELETE FROM 表名称 WHERE 列名称 = 值
    用于删除表中指定的行

使用UPDATE和DELETE语句时,除非是真的要更新或删除表中所有的行,否则一定要使用WHERE子句。
尽量保证每个表都有主键。
使用前要先用SELECT语句进行测试,保证它过滤的是正确的记录,以防编写的WHERE语句出错。

INSERT INTO

  • INSERT INTO 表名称 VALUES (值1,值2,….)
    向表格中插入指定的行
  • INSERT INTO 列名称(列1,列2,…) VALUES (值1,值2,…),(值a,值b,…),…
    向表格中指定的列插入值(可以是多个行,以括号区分,“,”隔开)

如果没有给出列名,必须给每个表列提供一个值,如果给出了列名,则必须对每个列出的列给出一个值。

INSERT OVERWRITE

-INSERT OVERWRITE 表名称 PARTITION (分区表列1名称=值1,分区表列2名称=值2)
用于重写表中内容,使用分区表可以带来诸多便利,如提高SQL运行效率,减少计费等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值