SQL Plus

作者: 西瓜三茶 | 来源:发表于2016-07-26 21:24 被阅读0次

选择top

SELECT * FROM Websites LIMIT 2;

就是选择前两个的意思;还可以用percent用百分比进行选择

SELECT TOP 50 PERCENT * FROM Websites;

选出前50%的记录

选择中like的用法

  • 选择名字以G开头的

select * from websites
WHERE name LIKE 'G%';

  • 选择名字以k结尾的

select * from websites
WHERE name LIKE '%k';

  • 选择名字当中包含 oo 的

select * from websites
WHERE name LIKE '%oo%'

  • 不包含oo的,就是NOT LIKE

通配符(既然说到%)

  • 通配符往往和LIKE一起用,一般的通配符包括:
    % 代替0或多个字符
    _ 只代替1个字符
    [charlist] - 字符列中的任意单一字符
    [^charlist]或者[!charlist] - 不在字符列中的任何单一字符

选取 name 以 "G" 开始,然后是一个任意字符,然后是 "o",然后是一个任意字符,然后是 "le" 的所有网站:

SELECT * FROM Websites
WHERE name LIKE 'G_o_le';

使用 SQL [charlist] 通配符

  • MySQL 中使用 REGEXPNOT REGEXP 运算符 (或 RLIKE 和 NOT RLIKE) 来操作正则表达式。
  • 下面的 SQL 语句选取 name 以 "G"、"F" 或 "s" 开始的所有网站:

SELECT * FROM Websites
WHERE name REGEXP '^[GFs]';

  • 下面的 SQL 语句选取 name 以 A 到 H 字母开头的网站:

SELECT * FROM Websites
WHERE name REGEXP '^[A-H]';

  • 选不是以A-H开头的,就是'[A-H]';

Select in 选择名称为aa或者bb的值

  • 下面的 SQL 语句选取 name 为 "Google" 或 "菜鸟教程" 的所有网站:

SELECT * FROM Websites
WHERE name IN ('Google','菜鸟教程');

Select between 选择alexa取值在某一范围内的值

  • 选取 alexa 介于 1 和 20 之间的所有网站:

SELECT * FROM Websites
WHERE alexa BETWEEN 1 AND 20;

  • NOT BETWEEN 就是不在这个值范围内的值

带有 IN 的 BETWEEN 操作符实例

选取alexa介于 1 和 20 之间但 country 不为 USA 和 IND 的所有网站:

SELECT * FROM Websites
WHERE (alexa BETWEEN 1 AND 20)
AND NOT country IN ('USA', 'IND');

也可以用betwen选取以某个字母范围开头,和上面的Regexp作用相同

SELECT * FROM Websites
WHERE name BETWEEN 'A' AND 'H';

  • 如果是不在这个范围内,就是NOT BETWEEN

选择某一时间日期范围内的条目

-针对access_log表,即包括aid, site_id, count(访问次数),date(时间)

  • 选择某一时间内的条目:

SELECT * FROM access_log
WHERE date BETWEEN '2016-05-10' AND '2016-05-14';

注意,不同的数据库中,between是否包含/不包含边界上的值,是不同的

Select别名

-通过对选取的表、或者列,设置别名(简称),可以减少写的工作量

  • 对列设置别名(name是n, country是c):

SELECT name AS n, country AS c FROM Websites;

  • 还可以把url, alexa, country合在一起,用','分割,生成一个新的列(用到了concat这个字)

SELECT name, CONCAT(url, ', ', alexa, ', ', country) AS site_info
FROM Websites;

  • 对表设置别名。比如把website的名字设为w, access_log设置为a, 选出a和w当中site_id一致的列,而且名称为“菜鸟教程”。最后展示的信息为w表中的名称,url,a中的访问量和时间

SELECT w.name, w.url, a.count, a.date
FROM Websites AS w, access_log AS a
WHERE a.site_id=w.id and w.name="菜鸟教程";

相关文章

  • Oracle系统用户登录

    以Oracle Database 12c为例 找到SQL Plus进行登录可以直接打开SQL Plus的exe,也...

  • 2018-08-27-Oracle学习的一天

    1、sql plus中怎么连接用户或切换用户:在sql plus中输入connect 用户名/密码 --连接指定...

  • Mybatis Plus使用Wrapper and与or连接问题

    使用Mybatis Plus的QueryWrapper实现如下的sql语句效果: Mybatis Plus代码:

  • 数据库技巧

    远程连接数据库(需要安装PLSQL ) 在搜索中找到sql plus 右键sql plus找到文件所属位置,在我的...

  • SQL Plus

    选择top SELECT * FROM Websites LIMIT 2; 就是选择前两个的意思;还可以用perc...

  • 连接到Oracle数据库

    使用SQL * Plus连接到Oracle数据库服务器 SQL * Plus是安装Oracle数据库服务器或客户端...

  • 如何连接到Oracle数据库?

    使用SQL*Plus连接Oracle数据库服务器 SQL*Plus是交互式查询工具,我们在安装Oracle数据库服...

  • SQL之 SQL*PLUS

    1、SQLplus安装(windows版本) Oracle官网,点击链接进入界面,先接受协议选择Accept Li...

  • 十 . Mybatis-Plus快速上手

    一、Mybatis-Plus简介 官方网站 Mybatis-Plus 是一款 Mybatis 动态 SQL 自动注...

  • 10、SpringBoot -集成MP-基础

    一、Mybatis-Plus简介 官方网站Mybatis-Plus 是一款 Mybatis 动态 SQL 自动注入...

网友评论

      本文标题:SQL Plus

      本文链接:https://www.haomeiwen.com/subject/fttojttx.html