質問編集履歴
8
解決しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,3 +1,19 @@
|
|
1
|
+
ありがとうございます。
|
2
|
+
1) id=1 OR id=3
|
3
|
+
2)(id=1 OR id=3)
|
4
|
+
違いですが
|
5
|
+
1)は()がないのでORで id=3 と比較されないため
|
6
|
+
ORの影響は受けない。そのため id=1 が独り歩き
|
7
|
+
できるので id=1 と書かれ時点で、選択の対象とな
|
8
|
+
り出力される。
|
9
|
+
|
10
|
+
2)の場合()でくくった時点で、id=1とid=3 が比較され
|
11
|
+
真である id=3 が返される。 id=1 は
|
12
|
+
AND price<150 AND keyword LIKE '%赤い%'
|
13
|
+
のすべての条件を満たしていないため、出力されない。
|
14
|
+
|
15
|
+
以下解決です。
|
16
|
+
-----------------------------------------------------------------
|
1
17
|
1)SELECT * FROM my_items WHERE (id=1 OR id=3) AND price<150 AND keyword LIKE '%赤い%'
|
2
18
|
idが1か3 で、price が 150未満で、keyword に 赤い を含むレコードが存在していません。
|
3
19
|
|
7
回答の正当性を知りたいです。
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,3 +1,35 @@
|
|
1
|
+
1)SELECT * FROM my_items WHERE (id=1 OR id=3) AND price<150 AND keyword LIKE '%赤い%'
|
2
|
+
idが1か3 で、price が 150未満で、keyword に 赤い を含むレコードが存在していません。
|
3
|
+
|
4
|
+
2)SELECT * FROM my_items WHERE id=1 OR id=3 AND price<150 AND keyword LIKE '%赤い%'
|
5
|
+
id が1 もしくは idが3で price が150未満でkeywordに赤いを含むレコードは、id=1 のレコードのみです。
|
6
|
+
|
7
|
+
--------------------------------------------------
|
8
|
+
以上の回答得ましたが!?
|
9
|
+
Aンス:
|
10
|
+
id が1 もしくは idが3で price が150未満でkeywordに赤いを含むレコードは、id=1 のレコードのみです。
|
11
|
+
|
12
|
+
以上ですが質問があります・
|
13
|
+
「150未満でkeywordに赤いを含むレコードは、id=1 のレコードのみ」
|
14
|
+
が正しければですが
|
15
|
+
price が150未満で・・・
|
16
|
+
SELECT * FROM my_items WHERE id=1 OR id=3 AND price<150 AND keyword LIKE '%赤い%'
|
17
|
+
と入力した場合において、以下が出力されるがおかしいと思います。
|
18
|
+
-----------------------------------
|
19
|
+
id item_name price keyword
|
20
|
+
1 いちご 180 赤い,甘い,ケーキ
|
21
|
+
----------------------------------
|
22
|
+
イチゴの price は「180」なので 「price<150」は
|
23
|
+
「150未満が該当する意味」だとしたら?
|
24
|
+
それが正しければ price は「180」だから違いますよね
|
25
|
+
しかし id1が出力されるのは何故ですか?
|
26
|
+
|
27
|
+
根本的に私が間違っていたなら ごめんなさいです。
|
28
|
+
よろしくお願いいたします。
|
29
|
+
|
30
|
+
以下は以前、質問内容です。
|
31
|
+
|
32
|
+
|
1
33
|
テーブル my_items の全データは id 1 2 3 4の4件です。
|
2
34
|
------------------------------------------------------------
|
3
35
|
id item_name price keyword
|
@@ -5,7 +37,7 @@
|
|
5
37
|
2 りんご 90 丸い,赤い,パイ
|
6
38
|
3 バナナ 120 パック,甘い,黄色
|
7
39
|
4 ブルーベリー 200 袋入り,青い,眼精疲労
|
8
|
-
---------------------------------------------------
|
40
|
+
---------------------------------------------------
|
9
41
|
SELECT * FROM my_items WHERE id=1 OR id=3 AND price<150 AND keyword LIKE '%甘い%';
|
10
42
|
書籍には 以上をカッコでくくってくださいとあります。
|
11
43
|
|
@@ -26,20 +58,4 @@
|
|
26
58
|
-------------------------------------------------------------
|
27
59
|
id item_name price keyword
|
28
60
|
1 いちご 180 赤い,甘い,ケーキ
|
29
|
-
-----------------------------------------------
|
61
|
+
-----------------------------------------------
|
30
|
-
|
31
|
-
SELECT * FROM my_items WHERE (id=1 OR id=3) AND price<150 AND keyword LIKE '%甘い%'
|
32
|
-
SELECT * FROM my_items WHERE (id=1 OR id=3) AND price<150;
|
33
|
-
-------------------------------------------------------------
|
34
|
-
id item_name price keyword
|
35
|
-
3 バナナ 120 パック,甘い,黄色
|
36
|
-
---------------------------------------------------------------
|
37
|
-
|
38
|
-
SELECT * FROM my_items WHERE id=1 OR id=3 AND price<150 AND keyword LIKE '%甘い%';
|
39
|
-
SELECT * FROM my_items WHERE id=1 OR id=3 AND price<150;
|
40
|
-
結果
|
41
|
-
-------------------------------------------------------------
|
42
|
-
id item_name price keyword
|
43
|
-
1 いちご 180 赤い,甘い,ケーキ
|
44
|
-
3 バナナ 120 パック,甘い,黄色
|
45
|
-
---------------------------------------------------------------
|
6
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,6 +1,3 @@
|
|
1
|
-
どうもすみません。
|
2
|
-
以下の質問の続きです。
|
3
|
-
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10273573505
|
4
1
|
テーブル my_items の全データは id 1 2 3 4の4件です。
|
5
2
|
------------------------------------------------------------
|
6
3
|
id item_name price keyword
|
5
変更です。
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,51 +1,48 @@
|
|
1
|
+
どうもすみません。
|
2
|
+
以下の質問の続きです。
|
3
|
+
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10273573505
|
1
|
-
|
4
|
+
テーブル my_items の全データは id 1 2 3 4の4件です。
|
2
|
-
|
5
|
+
------------------------------------------------------------
|
3
|
-
|
6
|
+
id item_name price keyword
|
4
|
-
|
7
|
+
1 いちご 180 赤い,甘い,ケーキ
|
5
|
-
|
8
|
+
2 りんご 90 丸い,赤い,パイ
|
6
|
-
|
9
|
+
3 バナナ 120 パック,甘い,黄色
|
7
|
-
|
10
|
+
4 ブルーベリー 200 袋入り,青い,眼精疲労
|
8
|
-
|
11
|
+
---------------------------------------------------------------
|
9
|
-
|
12
|
+
SELECT * FROM my_items WHERE id=1 OR id=3 AND price<150 AND keyword LIKE '%甘い%';
|
10
|
-
|
13
|
+
書籍には 以上をカッコでくくってくださいとあります。
|
11
|
-
色々試していますが、エラーばかりになります。
|
12
|
-
カッコでくくった場合、どのようになりますか?
|
13
|
-
よろしくお願いいたします。
|
14
14
|
|
15
|
-
|
15
|
+
結果は以下です。
|
16
|
-
------------------------------------------------------------
|
17
|
-
|
16
|
+
id item_name price keyword
|
18
17
|
|
19
|
-
|
18
|
+
1 いちご 180 赤い,甘い,ケーキ
|
20
|
-
|
19
|
+
3 バナナ 120 パック,甘い,黄色
|
20
|
+
一応結果でました。
|
21
|
+
以下試しました。1)と2)の違いが分かりませんでした。
|
22
|
+
(id=1 OR id=3とした場合、・・値が空・・になるのは何故ですか?
|
23
|
+
よろしくお願いいたします。
|
24
|
+
|
25
|
+
1)SELECT * FROM my_items WHERE (id=1 OR id=3) AND price<150 AND keyword LIKE '%赤い%'
|
26
|
+
返り値が空でした (行数 0)。 (Query took 0.0006 seconds.)
|
27
|
+
|
28
|
+
2)SELECT * FROM my_items WHERE id=1 OR id=3 AND price<150 AND keyword LIKE '%赤い%'
|
29
|
+
-------------------------------------------------------------
|
30
|
+
id item_name price keyword
|
31
|
+
1 いちご 180 赤い,甘い,ケーキ
|
32
|
+
----------------------------------------------------------
|
33
|
+
|
34
|
+
SELECT * FROM my_items WHERE (id=1 OR id=3) AND price<150 AND keyword LIKE '%甘い%'
|
35
|
+
SELECT * FROM my_items WHERE (id=1 OR id=3) AND price<150;
|
36
|
+
-------------------------------------------------------------
|
37
|
+
id item_name price keyword
|
38
|
+
3 バナナ 120 パック,甘い,黄色
|
21
39
|
---------------------------------------------------------------
|
22
|
-
一応結果でました。
|
23
|
-
以下試しました。1)と2)の違いが分かりませんでした。
|
24
|
-
(id=1 OR id=3とした場合、・・値が空・・になるのは何故ですか?
|
25
|
-
よろしくお願いいたします。
|
26
|
-
|
27
|
-
1)SELECT * FROM my_items WHERE (id=1 OR id=3) AND price<150 AND keyword LIKE '%赤い%'
|
28
|
-
返り値が空でした (行数 0)。 (Query took 0.0006 seconds.)
|
29
40
|
|
30
|
-
|
41
|
+
SELECT * FROM my_items WHERE id=1 OR id=3 AND price<150 AND keyword LIKE '%甘い%';
|
42
|
+
SELECT * FROM my_items WHERE id=1 OR id=3 AND price<150;
|
43
|
+
結果
|
31
|
-
|
44
|
+
-------------------------------------------------------------
|
32
|
-
id item_name price keyword
|
33
|
-
1 いちご 180 赤い,甘い,ケーキ
|
34
|
-
----------------------------------------------------------
|
35
|
-
|
36
|
-
SELECT * FROM my_items WHERE (id=1 OR id=3) AND price<150 AND keyword LIKE '%甘い%'
|
37
|
-
SELECT * FROM my_items WHERE (id=1 OR id=3) AND price<150;
|
38
|
-
id1と2において、値段が150円未満であり、かつ
|
39
|
-
-------------------------------------------------------------
|
40
|
-
|
45
|
+
id item_name price keyword
|
46
|
+
1 いちご 180 赤い,甘い,ケーキ
|
41
|
-
|
47
|
+
3 バナナ 120 パック,甘い,黄色
|
42
|
-
|
48
|
+
---------------------------------------------------------------
|
43
|
-
|
44
|
-
SELECT * FROM my_items WHERE id=1 OR id=3 AND price<150 AND keyword LIKE '%甘い%';
|
45
|
-
SELECT * FROM my_items WHERE id=1 OR id=3 AND price<150;
|
46
|
-
結果
|
47
|
-
-------------------------------------------------------------
|
48
|
-
id item_name price keyword
|
49
|
-
1 いちご 180 赤い,甘い,ケーキ
|
50
|
-
3 バナナ 120 パック,甘い,黄色
|
51
|
-
---------------------------------------------------------------
|
4
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
テーブル my_items の全データは id 1 2 3 4の4件です。
|
2
2
|
------------------------------------------------------------
|
3
3
|
id item_name price keyword
|
4
|
-
|
5
|
-
|
4
|
+
1 いちご 180 赤い,甘い,ケーキ
|
6
5
|
2 りんご 90 丸い,赤い,パイ
|
7
6
|
3 バナナ 120 パック,甘い,黄色
|
8
7
|
4 ブルーベリー 200 袋入り,青い,眼精疲労
|
3
修正です。
test
CHANGED
File without changes
|
test
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
1 いちご 180 赤い,甘い,ケーキ
|
6
6
|
2 りんご 90 丸い,赤い,パイ
|
7
7
|
3 バナナ 120 パック,甘い,黄色
|
8
|
-
|
8
|
+
4 ブルーベリー 200 袋入り,青い,眼精疲労
|
9
9
|
---------------------------------------------------------------
|
10
10
|
SELECT * FROM my_items WHERE id=1 OR id=3 AND price<150 AND keyword LIKE '%甘い%';
|
11
11
|
書籍には 以上をカッコでくくってくださいとあります。
|
2
訂正です。
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,49 +1,52 @@
|
|
1
|
+
テーブル my_items の全データは id 1 2 3 4の4件です。
|
2
|
+
------------------------------------------------------------
|
3
|
+
id item_name price keyword
|
4
|
+
|
5
|
+
1 いちご 180 赤い,甘い,ケーキ
|
6
|
+
2 りんご 90 丸い,赤い,パイ
|
7
|
+
3 バナナ 120 パック,甘い,黄色
|
8
|
+
3 ブルーベリー 200 袋入り,青い,眼精疲労
|
9
|
+
---------------------------------------------------------------
|
1
|
-
SELECT * FROM my_items WHERE id=1 OR id=3 AND price<150 AND keyword LIKE '%甘い%';
|
10
|
+
SELECT * FROM my_items WHERE id=1 OR id=3 AND price<150 AND keyword LIKE '%甘い%';
|
2
|
-
書籍には 以上をカッコでくくってくださいとあります。
|
11
|
+
書籍には 以上をカッコでくくってくださいとあります。
|
3
|
-
色々試していますが、エラーばかりになります。
|
12
|
+
色々試していますが、エラーばかりになります。
|
4
|
-
カッコでくくった場合、どのようになりますか?
|
13
|
+
カッコでくくった場合、どのようになりますか?
|
14
|
+
よろしくお願いいたします。
|
15
|
+
|
16
|
+
結果は以下です。
|
17
|
+
------------------------------------------------------------
|
18
|
+
id item_name price keyword
|
19
|
+
|
20
|
+
1 いちご 180 赤い,甘い,ケーキ
|
21
|
+
3 バナナ 120 パック,甘い,黄色
|
22
|
+
---------------------------------------------------------------
|
23
|
+
一応結果でました。
|
24
|
+
以下試しました。1)と2)の違いが分かりませんでした。
|
25
|
+
(id=1 OR id=3とした場合、・・値が空・・になるのは何故ですか?
|
5
26
|
よろしくお願いいたします。
|
27
|
+
|
28
|
+
1)SELECT * FROM my_items WHERE (id=1 OR id=3) AND price<150 AND keyword LIKE '%赤い%'
|
29
|
+
返り値が空でした (行数 0)。 (Query took 0.0006 seconds.)
|
6
30
|
|
7
|
-
|
31
|
+
2)SELECT * FROM my_items WHERE id=1 OR id=3 AND price<150 AND keyword LIKE '%赤い%'
|
8
|
-
-------------------------------------------------------------
|
32
|
+
-------------------------------------------------------------
|
9
|
-
|
33
|
+
id item_name price keyword
|
34
|
+
1 いちご 180 赤い,甘い,ケーキ
|
35
|
+
----------------------------------------------------------
|
10
36
|
|
37
|
+
SELECT * FROM my_items WHERE (id=1 OR id=3) AND price<150 AND keyword LIKE '%甘い%'
|
38
|
+
SELECT * FROM my_items WHERE (id=1 OR id=3) AND price<150;
|
39
|
+
id1と2において、値段が150円未満であり、かつ
|
40
|
+
-------------------------------------------------------------
|
41
|
+
id item_name price keyword
|
11
|
-
|
42
|
+
3 バナナ 120 パック,甘い,黄色
|
43
|
+
---------------------------------------------------------------
|
12
44
|
|
45
|
+
SELECT * FROM my_items WHERE id=1 OR id=3 AND price<150 AND keyword LIKE '%甘い%';
|
46
|
+
SELECT * FROM my_items WHERE id=1 OR id=3 AND price<150;
|
47
|
+
結果
|
48
|
+
-------------------------------------------------------------
|
49
|
+
id item_name price keyword
|
50
|
+
1 いちご 180 赤い,甘い,ケーキ
|
13
|
-
|
51
|
+
3 バナナ 120 パック,甘い,黄色
|
14
|
-
---------------------------------------------------------------
|
52
|
+
---------------------------------------------------------------
|
15
|
-
一応結果でました。
|
16
|
-
以下試しました。1)と2)の違いが分かりませんでした。
|
17
|
-
(id=1 OR id=3とした場合、・・値が空・・になるのは何故ですか?
|
18
|
-
よろしくお願いいたします。
|
19
|
-
|
20
|
-
1)SELECT * FROM my_items WHERE (id=1 OR id=3) AND price<150 AND keyword LIKE '%赤い%'
|
21
|
-
返り値が空でした (行数 0)。 (Query took 0.0006 seconds.)
|
22
|
-
|
23
|
-
2)SELECT * FROM my_items WHERE id=1 OR id=3 AND price<150 AND keyword LIKE '%赤い%'
|
24
|
-
-------------------------------------------------------------
|
25
|
-
id item_name price keyword
|
26
|
-
|
27
|
-
編集 コピー 削除 1 いちご 180 赤い,甘い,ケーキ
|
28
|
-
----------------------------------------------------------
|
29
|
-
|
30
|
-
SELECT * FROM my_items WHERE (id=1 OR id=3) AND price<150 AND keyword LIKE '%甘い%'
|
31
|
-
SELECT * FROM my_items WHERE (id=1 OR id=3) AND price<150;
|
32
|
-
id1と2において、値段が150円未満であり、かつ
|
33
|
-
-------------------------------------------------------------
|
34
|
-
id item_name price keyword
|
35
|
-
|
36
|
-
編集 コピー 削除 1 バナナ 120 パック,甘い,黄色
|
37
|
-
---------------------------------------------------------------
|
38
|
-
|
39
|
-
p.168
|
40
|
-
SELECT * FROM my_items WHERE id=1 OR id=3 AND price<150 AND keyword LIKE '%甘い%';
|
41
|
-
SELECT * FROM my_items WHERE id=1 OR id=3 AND price<150;
|
42
|
-
結果
|
43
|
-
-------------------------------------------------------------
|
44
|
-
id item_name price keyword
|
45
|
-
|
46
|
-
編集 コピー 削除 1 いちご 180 赤い,甘い,ケーキ
|
47
|
-
|
48
|
-
編集 コピー 削除 1 バナナ 120 パック,甘い,黄色
|
49
|
-
---------------------------------------------------------------
|
1
追伸です。
test
CHANGED
File without changes
|
test
CHANGED
@@ -13,4 +13,37 @@
|
|
13
13
|
編集 コピー 削除 1 バナナ 120 パック,甘い,黄色
|
14
14
|
---------------------------------------------------------------
|
15
15
|
一応結果でました。
|
16
|
+
以下試しました。1)と2)の違いが分かりませんでした。
|
17
|
+
(id=1 OR id=3とした場合、・・値が空・・になるのは何故ですか?
|
18
|
+
よろしくお願いいたします。
|
19
|
+
|
20
|
+
1)SELECT * FROM my_items WHERE (id=1 OR id=3) AND price<150 AND keyword LIKE '%赤い%'
|
21
|
+
返り値が空でした (行数 0)。 (Query took 0.0006 seconds.)
|
16
22
|
|
23
|
+
2)SELECT * FROM my_items WHERE id=1 OR id=3 AND price<150 AND keyword LIKE '%赤い%'
|
24
|
+
-------------------------------------------------------------
|
25
|
+
id item_name price keyword
|
26
|
+
|
27
|
+
編集 コピー 削除 1 いちご 180 赤い,甘い,ケーキ
|
28
|
+
----------------------------------------------------------
|
29
|
+
|
30
|
+
SELECT * FROM my_items WHERE (id=1 OR id=3) AND price<150 AND keyword LIKE '%甘い%'
|
31
|
+
SELECT * FROM my_items WHERE (id=1 OR id=3) AND price<150;
|
32
|
+
id1と2において、値段が150円未満であり、かつ
|
33
|
+
-------------------------------------------------------------
|
34
|
+
id item_name price keyword
|
35
|
+
|
36
|
+
編集 コピー 削除 1 バナナ 120 パック,甘い,黄色
|
37
|
+
---------------------------------------------------------------
|
38
|
+
|
39
|
+
p.168
|
40
|
+
SELECT * FROM my_items WHERE id=1 OR id=3 AND price<150 AND keyword LIKE '%甘い%';
|
41
|
+
SELECT * FROM my_items WHERE id=1 OR id=3 AND price<150;
|
42
|
+
結果
|
43
|
+
-------------------------------------------------------------
|
44
|
+
id item_name price keyword
|
45
|
+
|
46
|
+
編集 コピー 削除 1 いちご 180 赤い,甘い,ケーキ
|
47
|
+
|
48
|
+
編集 コピー 削除 1 バナナ 120 パック,甘い,黄色
|
49
|
+
---------------------------------------------------------------
|