SQL语句深入理解

    xiaoxiao2023-11-01  32

    sql语句是一个数据库的深入的查询语句。今天我们就来说说sql语句的高级的用法。

    首先我们来介绍下sql的通配符的使用.

    1.limit限制了输出的结果的数量。比如在mysql数据库里面的写法select * from student limit 2。输出的结果只有2条数据库的记录,很简单,但是在其他的数据库里面确实由写不同。

    2.like  模糊匹配。比如下面的sql语句  select * from student where name like ' 马% '  该sql的语句的意思就是查找姓名是以马开头的,在数据库的表里面。还有就是select * from student where name like '%马'  意思就是在数据库表里面查找以马结尾的名字

    假如sql语句select * from student where name like '%马%'  在数据库里面查找包含马的关键字的名字。同时like还可以和not  and  or关键字来一起使用。

    二  下面我们来看看sql里面的通配符的使用

    1.sql的通配符和sql语句的一起使用。sql通配符用于搜索表里面的数据。

       1.% 用于替代0个或者是多个字符。

      2.。-  替代一个字符。

     3.   【charlist】字符列里面的任何的一个字符

    4.   【^charlist】 不再字符序列的任何的一个字符或者是[!charlist]结果是都是一样的。

    来看看下面的语句.

        1.select  * from websites where  url  like 'https%'   选取以https开头的网站

        2. select  * from  website  where    url  like  ‘%oo%’    选取url里面包含oo的所有网站

      3      .select * FROM Websites      WHERE    name LIKE '_oogle';   SQL 语句选取 name 以一个任意字符开始,然后是 "oogle" 的所有客户

       4.  下面的 SQL 语句选取 name 以 "G" 开始,然后是一个任意字符,然后是 "o",然后是一个任意字符,然后是 "le" 的所有网站:      SELECT * FROM Websites    WHERE name LIKE 'G_o_le';

     三  。在sql语句里面,我们也可以使用正则表达式来配合sql语句来一起使用。

      1.下面我们就来说说sql语句如何配合正则表达式来一起使用.

       MySQL 中使用 REGEXP 或 NOT REGEXP 运算符 (或 RLIKE 和 NOT RLIKE) 来操作正则表达式。

     下面的 SQL 语句选取 name 以 "G"、"F" 或 "s" 开始的所有网站:

    下面我们来看看这个sql语句如何填写    

       select * from website where name REGEXP ' ^[GFS]  '  

      2.下面的 SQL 语句选取 name 不以 A 到 H 字母开头的网站: select  * from website where name regexp '^[ ^ A-H]'

       选择不以A到H所有开头的网站.

    3.in  操作符容许你在where子句里面规定多个值.  来看看下面的代码  select * from  website where name in  ("google",“菜鸟教程”)

     

    四   下面我们来看看sql语句的between语句的使用.

       1. between  操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。下面来看看语法

        来看看下面的语句

      SELECT column_name(s)     FROM table_name    WHERE column_name BETWEEN value1 AND value2;

     

       2.  not   between     表示的就是不再什么之间的。

         SELECT column_name(s)     FROM table_name    WHERE column_name    not    between    value1 AND value2;

     

    3. 

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

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

       

     

    4.下面的sql语句用于选取name以下面的 SQL 语句选取 name 以介于 'A' 和 'H' 之间字母开始的所有网站:

    来看看sql语句的写法   SELECT * FROM        Websites   WHERE name BETWEEN 'A' AND 'H';

     

     

    5.

    下面的 SQL 语句选取 name 不介于 'A' 和 'H' 之间字母开始的所有网站:

    实例

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

    ;在sql语句里面也可以结合正则表达式来使用Mysql 中间使用Regexp  或者是NOT Regexp来操作正则表达式,来看看下面的语句

    select * from student where name Regexp'^[张]'   表示的就是在表里面查找以姓张开头的所有人.

    假如不查找姓开头的所有人,语句是这样的select * from student where name Regexp ‘^[^张]’;

     

     

    6.in  操作符用于在where子句里面规定多个值。例如

    select * from student where name in(value1,value2,value3,value4.......)表示在着几个值里面查找。

     

    SQL   Between 

    between操作符用于选取介于两个范围之间的数据的值。这些值可能是数值,文本,或者日期

    来看看下面的sql    select * from student where number between A   and  B

    NOT  BETWEEN 刚好和上面的相反.

     

    7.来看看带有in   Between之间的操作实例.

    来看看下面的sql语句操作实例.

    select * from name where (number bewteen 1and 20)  and not Country("USA","中国")

     

    8.带有文本的between操作的实例.

    select * from student where name between 'A' and 'H'  

     

    下面我们来学习下sql语句是如何实现多表查询的.来看看下面的代码.

    在sql语句里面,我们将使用join方法来实现将将两个表或者是多个表的行结合起来的。

    最常见的join类型就是:SQL  INNER JOIN  .从多个表里面返回满足条件的行.

    在下一节,我们将重点看看多表查询。这个才是重点

     

     

     

     

     

     

     

     

    最新回复(0)