MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

1つのMySQLクエリで2つのSELECTステートメントを使用して、特定のフィールドに値がないレコードを返します


このために、サブクエリとともにWHERE句を使用できます。まずテーブルを作成しましょう-

mysql> create table DemoTable1840
     (
     UserName varchar(20),
     UserType ENUM('GUEST','ADMIN')
     );
Query OK, 0 rows affected (0.00 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable1840 values('Chris','Admin');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1840 values('David','Guest');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1840 values('Chris','Guest');
Query OK, 1 row affected (0.00 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select * from DemoTable1840;

これにより、次の出力が生成されます-

+----------+----------+
| UserName | UserType |
+----------+----------+
| Chris    |    ADMIN |
| David    |    GUEST |
| Chris    |    GUEST |
+----------+----------+
3 rows in set (0.00 sec)

特定のフィールドに値がないレコードへのクエリは次のとおりです。

mysql> select UserName from DemoTable1840 where UserName NOT IN(select UserName from DemoTable1840 where UserType='Admin');

これにより、次の出力が生成されます-

+----------+
| UserName |
+----------+
| David    |
+----------+
1 row in set (0.00 sec)

  1. 1つのMySQLクエリで2つの列を更新します

    このためには、SETコマンドを1回だけ使用する必要があります。まずテーブルを作成しましょう- mysql> create table DemoTable1909    (    Id int NOT NULL,    FirstName varchar(20),    LastName varchar(20)    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> ins

  2. 単一のクエリでIN()を使用してMySQLテーブルからレコードを削除する

    テーブルを作成しましょう- mysql> create table DemoTable1922    (    StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,    StudentName varchar(20)    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1922(StudentNa