0

の違いについて...

select * from table_a where id != 30 and name != 'Kevin';

select * from table_a where id != 30 or name != 'Kevin';

最初の1つは、を意味し"select all rows from table_a where the id is not 30 and the name is not Kevin"ます。

したがって、{30、'Bill'}の{Id、Name}行がこの最初のクエリから返されます。

しかし、2つ目は、を意味し"select all rows from table_a where the id is not 30 or the name is not 'Kevin'"ます。

したがって、上記の{30、'Bill'}は、この2番目のクエリからは返されません。

そうですか?

4

4 に答える 4

2
select * from table_a where id != 30 and name != 'Kevin';

したがって、{30、'Bill'}の{Id、Name}行がこの最初のクエリから返されます。

いいえ、そうではありません。

select * from table_a where id != 30 or name != 'Kevin';

したがって、上記の{30、'Bill'}は、この2番目のクエリからは返されません。

いいえ、そうします。論理が逆になっています。やってみなよ。

于 2012-12-19T17:17:50.330 に答える
0

いいえ。2番目のクエリは、「IDが30でないか、名前が「Kevin」ではないすべての行を選択する」ことを意味します。したがって、「Bill」という名前は、クエリに含めるレコードを修飾します。

于 2012-12-19T17:14:41.507 に答える
0

要約:

A   B   not(A)  not(B)      AND     OR
1   1   0         0         0       0
1   0   0         1         0       1
0   1   1         0         0       1
0   0   1         1         1       1

したがって、2つのクエリは、次の場合にのみ同じ行を返します。

1- id=30およびname='Kevin'

また

2- id!= 30およびname!='Kevin'

于 2012-12-19T17:37:14.927 に答える
0

クイックロジック式変換のヒント:

NOT(A AND B)==NOTAまたはNOTB

NOT(A OR B)== NOT A AND NOT B

于 2015-04-17T22:13:59.770 に答える