サブクエリを使用してMySQLビューを作成するにはどうすればよいですか?
サブクエリを使用したMySQLビューの作成を説明するために、テーブル「Cars」からの次のデータを使用しています-
mysql> select * from cars; +------+--------------+---------+ | ID | Name | Price | +------+--------------+---------+ | 1 | Nexa | 750000 | | 2 | Maruti Swift | 450000 | | 3 | BMW | 4450000 | | 4 | VOLVO | 2250000 | | 5 | Alto | 250000 | | 6 | Skoda | 1250000 | | 7 | Toyota | 2400000 | | 8 | Ford | 1100000 | +------+--------------+---------+ 8 rows in set (0.08 sec)
次のクエリは、ビューに値を提供するサブクエリを使用して、「cars_avgprice」という名前のビューを作成します。サブクエリは括弧で囲む必要があります。
mysql> Create view cars_avgprice AS SELECT NAME, Price FROM Cars WHERE price > (SELECT AVG(Price) from cars); Query OK, 0 rows affected (0.12 sec) mysql> Select * from cars_avgprice; +--------+---------+ | NAME | Price | +--------+---------+ | BMW | 4450000 | | VOLVO | 2250000 | | Toyota | 2400000 | +--------+---------+ 3 rows in set (0.03 sec)
上記のサブクエリを個別に実行すると、ビューがどのように値を取得したかを理解できます-
mysql> Select AVG(Price) from cars; +--------------+ | AVG(Price) | +--------------+ | 1612500.0000 | +--------------+ 1 row in set (0.00 sec)
そのため、ビュー「cars_avgprice」には、平均価格(1612500)よりも高い価格の車のリストが含まれています。
-
インデックスを使用してMySQLテーブルを作成するにはどうすればよいですか?
インデックスを使用してMySQLテーブルを作成するための構文は、次のとおりです- create table yourTableName ( yourColumnName1 dataType, yourColumnName2 dataType . . . N ); create index yourIndexName1 on(yourColumnName1 ); create index yourIndexName2 on(yourColumnName2 ); まずテーブルを作成しましょう- mysql> create table DemoTable ->
-
MySQLビューを作成する方法は?
MySQLビューを作成するには、次の構文のようにCREATEVIEWを使用します- create view yourViewName as select * from yourTableName;として作成します。 まずテーブルを作成しましょう- mysql> create table DemoTable1802 ( StudentId int, StudentName varchar(20) ); Query OK, 0 ro