SELECTステートメントをMySQLIF()関数の引数として使用するにはどうすればよいですか?
MySQL IF()関数の最初の引数としてSELECTステートメントを使用することはかなり可能です。理解しやすくするために、表「学生」のデータを次のように検討してください。
mysql> Select * from Students; +----+-----------+-----------+----------+----------------+ | id | Name | Country | Language | Course | +----+-----------+-----------+----------+----------------+ | 1 | Francis | UK | English | Literature | | 2 | Rick | USA | English | History | | 3 | Correy | USA | English | Computers | | 4 | Shane | France | French | Computers | | 5 | Validimir | Russia | Russian | Computers | | 6 | Steve | Australia | English | Geoinformatics | | 7 | Rahul | India | Hindi | Yoga | | 8 | Harshit | India | Hindi | Computers | | 9 | Harry | NZ | English | Electronics | +----+-----------+-----------+----------+----------------+ 9 rows in set (0.00 sec)
これで、次のクエリはIF()関数内でSELECTステートメントを使用します
mysql> Select ID, IF((Select COUNT(*) FROM Students WHERE Language = 'English')>(Select COUNT(*) from Students WHERE Language <> 'English'),(CONCAT("Name is ", Name)),(CONCAT("Course is ", Course))) AS 'Name/Course' from Students; +----+-------------------+ | ID | Name/Course | +----+-------------------+ | 1 | Name is Francis | | 2 | Name is Rick | | 3 | Name is Correy | | 4 | Name is Shane | | 5 | Name is Validimir | | 6 | Name is Steve | | 7 | Name is Rahul | | 8 | Name is Harshit | | 9 | Name is Harry | +----+-------------------+ 9 rows in set (0.00 sec)
-
MySQLクエリでSELECTNULLステートメントを使用できますか?
はい、MySQLクエリでSELECTNULLステートメントを使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable ( Name varchar(100) ); Query OK, 0 rows affected (0.49 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('Chris'); Query OK, 1 row affected (0.47 sec) mysql> ins
-
MySQLでの更新中にselectステートメントを使用するにはどうすればよいですか?
このために、MySQL UPDATEコマンドを使用している間、WHERE句とともにサブクエリを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable -> ( -> Id int, -> Name varchar(20) -> ); Query OK, 0 rows affected (0.82 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert int