了解mysql子查询写长尾查询

时间:2013-06-16 05:51:54

标签: mysql sql operators subquery

我已经检查了一些关于subquery的stackoverflow.com线程。我还检查了MySQL文档以了解subquery。我想在MySQL中编写长尾查询。我知道有很多专家可以帮助我理解以下运算符,并为每个运算符提供一个示例,并在长尾查询中绑定它们。

=, >, <, >=, <=, <>, !=, ANY, SOME, EXISTS, NOT EXISTS, IN, NOT IN, XOR, OR等我检查了http://dev.mysql.com/doc/refman/5.0/en/non-typed-operators.html

处的运算符含义

主要是,我想学习使用上面的运算符编写长尾查询的过程和示例。

我想知道语法的顺序,[例如 - 在我必须编写的选择查询中,如下所示 -

1. select
2. all
3. from
4. tablename
5. where etc.

在上面的序列中,我不能在表名之前写where子句。不是吗?如果您认为这个问题写得不正确,那么请在评论中提及每一点,我会立即改进。

1 个答案:

答案 0 :(得分:0)

对于Select语句,语法为

    SELECT * FROM table_name
    WHERE condition

(*)表示ALL,如果您想要检索特定列,则可以代替它编写列名

对于条件,我将举例说明一些

    =, >, <, >=, <=, <>, !=, ANY, SOME, EXISTS, NOT EXISTS, IN, NOT IN, XOR, OR 

    SELECT * FROM MyTable
    WHERE Name = 'Tijesunimi' 

重新翻译名称的所有细节(Tijesunimi)

    SELECT CustomerID, DateofBirth
    FROM MyTable
    WHERE DateofBirth > '19530212' and CustomerID > '20'

检索出生日期高于1953年 - 2月12日且客户ID大于20的出生时的客户ID和出生日期(同样适用于&gt; =,&lt; =,&lt;&gt;)

    SELECT Id FROM MyTable
    WHERE 100 > ANY (SELECT Id, Amount FROM MyTable
                     WHERE Name = 'Tijesunimi')

为客户转发ID,其中100大于子查询中返回的任何值

    SELECT * FROM MyTable
    WHERE EXISTS (SELECT Name FROM MyTable
                  WHERE Name = 'Tijesunimi)

详细了解客户Tijesunimi的详细信息

    SELECT * FROM MyTable
    WHERE NOT EXISTS (SELECT Name FROM MyTable
                  WHERE Name = 'Tijesunimi)

除了'Tijesunimi'之外,还会回复其他客户的详细信息

我已经解释了我熟悉的那些...... 我希望它可以帮到你