您的位置:

SQL条件查询语句

一、in关键字查询

在进行SQL语句查询时,in关键字可以用于指定字段的范围或者在几个可选值之间进行选择,语法如下:

SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1, value2, ...);

例如:

SELECT *
FROM customers
WHERE country IN ('Germany', 'France', 'UK');

上述SQL语句将查询所有居住在德国、法国或英国的客户信息。

二、查询语句条件

在查询中,可以使用各种逻辑运算符(如“AND”、“OR”、“NOT”),将不同的查询条件组合在一起。例如:

SELECT *
FROM customers
WHERE country='Germany' AND city='Berlin';

这个查询将返回所有居住在德国柏林的客户信息。

三、case条件查询

case语句是一种有条件的语句,可以基于条件改变输出。语法如下:

SELECT column_name,
CASE
    WHEN condition THEN result
    WHEN condition THEN result
    ELSE result
END
FROM table_name;

例如:

SELECT OrderID, Quantity,
CASE
    WHEN Quantity > 30 THEN "The quantity is greater than 30"
    WHEN Quantity = 30 THEN "The quantity is 30"
    ELSE "The quantity is less than 30"
END AS QuantityText
FROM OrderDetails;

上述SQL语句将查询订单详情表中,通过判断订单数量在30以上、等于30、还是小于30来输出相应的信息。

四、多条件查询

在SQL查询中,可以同时使用多个条件查询,语法如下:

SELECT column1, column2, ...
FROM table_name
WHERE condition1 AND condition2 AND condition3 ...;

例如:

SELECT *
FROM customers
WHERE city='Berlin' OR city='London' AND country='Germany';

在上述SQL语句中,使用了AND和OR逻辑运算符来同时查询客户所在城市为柏林或伦敦,并且所在国家是德国的客户信息。

五、where多个条件查询

在SQL查询中,where子句也可以同时使用多个查询条件,语法如下:

SELECT column1, column2, ...
FROM table_name
WHERE condition1
AND (condition2
    OR condition3)
AND condition4 ...;

例如:

SELECT *
FROM customers
WHERE city='Berlin'
AND (contactName='Maria Anders'
    OR contactName='Ana Trujillo')
AND country='Germany';

上述SQL语句将查询在柏林居住的,并且联系人为Maria Anders或Ana Trujilio的德国客户信息。

六、日期条件查询

在SQL查询中,日期也可以作为查询条件。使用datepart函数可以按年、月、日来查询。例如:

SELECT *
FROM orders
WHERE datepart(year, orderDate)=2019
AND datepart(month, orderDate)=1;

上述SQL语句将查询2019年1月份的所有订单信息。

七、不为空数据查询

在SQL查询中,可以使用“IS NOT NULL”来查询不为空的数据。例如:

SELECT *
FROM customers
WHERE address IS NOT NULL;

上述SQL语句将查询所有有地址信息的客户信息。

八、来自多个表的查询

在SQL查询中,可以从多个表中查询相关的信息。可以使用JOIN语句来连接两个或多个表。例如:

SELECT *
FROM customers
JOIN orders
ON customers.customerID = orders.customerID;

上述SQL语句将查询与客户相关的订单信息。

九、MySQL条件查询语句

MySQL使用与SQL相同的语法查询语句,但有一些不同之处。在MySQL中,可以使用LIMIT关键字限制结果的数量。例如:

SELECT *
FROM customers
WHERE country='Germany'
LIMIT 5;

上述SQL语句将查询居住在德国的前5位客户信息。

十、SQL条件查询子语句

在SQL查询中,可以使用子查询语句,将一个查询的结果用于另一个查询中。例如:

SELECT *
FROM customers
WHERE customerID IN
    (SELECT customerID
    FROM orders
    WHERE orderDate BETWEEN '2019/01/01' AND '2019/12/31');

上述SQL语句将查询在2019年所有订单中的客户信息。