首页 > 代码库 > Mysql单表和多表查询基础

Mysql单表和多表查询基础

使用关键字:select

select:按需要,按标准,按条件在对应关系上挑选对就字段或对就行的工具或指令。

查询语句的3种类型:1.简单查询;2.多表查询;3.子查询(嵌套查询)


select语句和用法:

SELECT * FROM tb_name;  ‘*’表示所有字段。

SELECT field1,field2,... FROM tb_name;查询指定的字段(投影方式)

SELECT [DISDINCT]* FROM tb_name WHERE qualification;通过WHERE过滤搜索码,找出符合条件的行(选择方式)

    DISTINCT:表示相同的值只显示一次


子句

   FROM:后面可以是单个表,多个表或其他SELECT语句。

   WHERE:后面是‘布尔关系表达式’,如

      关系操作:>,<,>=,<=  ,=,!=,<=>(NULLsafe equal to)

            逻辑操作:AND ,OR,NOT  

            BETWEEN num1 AND num2:等同于(>=num1 AND <=num2);

         注意:在做数值比较时不需加‘’,而字符比较时则需“”或‘’

            LIKE ‘‘:‘%‘表示任意多个字符,‘_’表示任意单个字符。

         RLIKE RegExp:以正则表达式作模式匹配。

        IN (value1,value2,...):select取值与在(value1,value2,...)范围内的值作比较

        IS NULL,IS NOT NULL:在判断是否为空值时不能用‘=’号,而应用‘IS’.

     ORDER BY field_name{DESC|ASC}:降序和升序排序

   LIMIT [offset,] count:只显示count以前的行,或从‘offset+1’至count行之间的内容。

   AS:select field_name1 AS field_name2 from ...用作字段别名 。


   聚合运算:AVG(field),SUM(field),MAX(field),MIN(field),COUNT(field)

   GROUP BY field:根据字段内容进行分组,分组一般用来做聚合运算

         HAVING where_condition:对GROUP BY的结果再次进行过滤,判断条件同WHERE。

     SELECT AVG(field) FROM tb_name GROUP BY qualification HAVING ‘exp‘


  

Mysql单表和多表查询基础