标签: where-clause

SQL join:where子句与on子句

阅读之后,这不是Explicit vs Implicit SQL Joins的重复.答案可能是相关的(甚至是相同的),但问题是不同的.


有什么区别,应该分别做些什么?

如果我理解正确的理论,查询优化器应该能够互换使用.

sql join on-clause where-clause

616
推荐指数
10
解决办法
62万
查看次数

在哪里与HAVING

为什么你需要把你自己创建的(例如列select 1 as "number"后)HAVING,而不是WHERE在MySQL?

是否有任何缺点而不是做WHERE 1(编写整个定义而不是列名)?

mysql sql where-clause having-clause

241
推荐指数
5
解决办法
19万
查看次数

检测MySQL中的值是否为数字

有没有办法检测值是否是MySQL查询中的数字?

例如, __CODE__

mysql sql where-clause

144
推荐指数
9
解决办法
21万
查看次数

左边加入Where子句

我需要从设置表中检索所有默认设置,但如果存在x字符,还需要获取字符设置.

但是此查询仅检索字符= 1的那些设置,而不是用户未设置任何人的默认设置.

SELECT `settings`.*, `character_settings`.`value`
FROM (`settings`)
LEFT JOIN `character_settings` 
ON `character_settings`.`setting_id` = `settings`.`id`
WHERE `character_settings`.`character_id` = '1'  
Run Code Online (Sandbox Code Playgroud)

所以我应该需要这样的东西:

array(
    '0' => array('somekey' => 'keyname', 'value' => 'thevalue'),
    '1' => array('somekey2' => 'keyname2'),
    '2' => array('somekey3' => 'keyname3')
)
Run Code Online (Sandbox Code Playgroud)

其中,当键0包含具有字符值的默认值时,键1和键2是默认值.

sql left-join where-clause

142
推荐指数
3
解决办法
32万
查看次数

MySQL与where子句连接

我有两张桌子想加入.

我想要类别表中的所有类别以及category_subscriptions表中用户订阅的所有类别.

基本上这是我目前的查询:

SELECT *
FROM categories
LEFT JOIN user_category_subscriptions 
     ON user_category_subscriptions.category_id = categories.category_id
Run Code Online (Sandbox Code Playgroud)

这工作正常,但我想在查询的末尾添加一个where子句,然后基本上使它成为内部/ equi连接.

   SELECT *
    FROM categories
    LEFT JOIN user_category_subscriptions 
         ON user_category_subscriptions.category_id = categories.category_id 
   WHERE user_category_subscriptions.user_id = 1
Run Code Online (Sandbox Code Playgroud)

如何仅使用一个查询获取特定用户订阅的所有类别以及所有类别?

category_id是类别表和user_category_subscriptions中的键.user_id驻留在user_category_subscriptions表中.

谢谢

mysql join where-clause

121
推荐指数
2
解决办法
18万
查看次数

where子句的顺序在SQL中是否重要?

假设我有一个名为PEOPLE3列的表ID, LastName, FirstName,这些列都没有被索引.
LastName更独特,FirstName更不独特.

如果我做2次搜索:

select * from PEOPLE where FirstName="F" and LastName="L" 
select * from PEOPLE where LastName="L" and FirstName="F"
Run Code Online (Sandbox Code Playgroud)

我的信念是第二个更快,因为更独特的标准(LastName)在where条款中排在第一位,记录将更有效地消除.我不认为优化器足够聪明,可以优化第一个sql.

我的理解是否正确?

sql performance where-clause

113
推荐指数
3
解决办法
6万
查看次数

MySQL - IN()中的ORDER BY值

我希望按照它们输入IN()函数的顺序对以下查询中返回的项进行排序.

INPUT:

SELECT id, name FROM mytable WHERE name IN ('B', 'A', 'D', 'E', 'C');
Run Code Online (Sandbox Code Playgroud)

OUTPUT:

|   id   |   name  |
^--------^---------^
|   5    |   B     |
|   6    |   B     |
|   1    |   D     |
|   15   |   E     |
|   17   |   E     |
|   9    |   C     |
|   18   |   C     |
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

mysql sql-order-by where-clause

101
推荐指数
2
解决办法
7万
查看次数

SQL WHERE条件,不等于?

是否有可能否定where子句?

例如

DELETE * FROM table WHERE id != 2;
Run Code Online (Sandbox Code Playgroud)

mysql sql where-clause negate

86
推荐指数
9
解决办法
24万
查看次数

"或"等效于Linq Where()lambda表达式

在Linq中是否有一个方法可用于构建SQL字符串,如"... where(a = 1)OR(a = 2)"?

.net linq where-clause

85
推荐指数
3
解决办法
8万
查看次数

SQL服务器在where表达式中忽略大小写

如何构造SQL查询(MS SQL Server),其中"where"子句不区分大小写?

SELECT * FROM myTable WHERE myField = 'sOmeVal'
Run Code Online (Sandbox Code Playgroud)

我希望结果无视案例回来

sql sql-server case-insensitive where-clause

81
推荐指数
5
解决办法
13万
查看次数