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  .从多个表里面返回满足条件的行.

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

 

 

 

 

 

 

 

 

更多推荐

SQL语句深入理解