0

我已经检查了 stackoverflow.com 的几个线程subquery。我还检查了 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在表名之前写子句。不是吗?如果你觉得这个问题写得不好,那么在评论中提到每一点,我会立即改进。

4

1 回答 1

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 日且 CustomerID 大于 20 的 CustomerID 和 Date of Birth(>=、<=、<> 也是如此)

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

检索比子查询中返回的任何值大 100 的客户的 id

    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”之外的其他客户的详细信息

我已经解释了我熟悉的那些...希望对您有所帮助

于 2013-06-16T07:38:03.750 回答