Задачі з SQL

лютий 2015

Сontent

Оператор CASE()

Завдання

1. Вивести значення id, cpu, memory комп'ютерів в яких об'єм памяті 3000 Mb.
2. Вивести мінімальний об'єм жорсткого диску, що є на складі. Вивести Hdd.
3. Вивести кількість комп'ютерів з мінімальним об'ємом жорсткого диску, що є на складі. Вивести count, hdd.


Таблиця PC

Idcpu(MHz)memory(Mb)hdd(Gb)
116002000500
224003000800
3320030001200
424002000500
530002000800
632003000500


Рішення 1 частини завдання

Вивести значення id, cpu, memory комп'ютерів в яких об'єм памяті 3000 Mb.


SQL-запит буде мати вигляд:

SELECT id,cpu,memory
FROM PC
WHERE memory=3000;

Об'єктно-орієнтовний стиль кодування php-частини:

<?php
$con = new mysqli("host","my_user","password","my_db");

$SQL='SELECT id, cpu, memo 
      FROM PC 
      WHERE memo=3000;';

$result = $con->query("$SQL");

while ($row = $result->fetch_assoc()){
echo "id:".$row['id']."cpu:".$row['cpu']."memory:".$row['memo'];
}
$con->close(); ?>

Результат виконання php-частини:

id: 2 cpu: 2400 memory: 3000
id: 3 cpu: 3200 memory: 3000
id: 6 cpu: 3200 memory: 3000


Рішення 2 частини завдання

Мінімальний об'єм жорсткого диску, що є на складі. Вивести Hdd.


SQL-запит буде мати вигляд:

SELECT min(hdd)
FROM PC;



Об'єктно-орієнтовний стиль кодування php-частини:

<?php
$con = new mysqli("host","user","password","db"); $con->set_charset("utf8"); $SQL='SELECT min(hdd) FROM PC ;'; $result = $con->query("$SQL"); $row = $result->fetch_assoc(); echo "Min hdd:".$row['min(hdd)']."Gb"; $con->close(); ?>


Результат виконання php-частини:

Min hdd: 500Gb


Рішення 3 частини завдання

Кількість комп'ютерів з мінімальним об'ємом жорсткого диску, що є на складі. Вивести count, hdd.

SQL-запит в третій частині завдання буде мати вигляд:

SELECT hdd, count(hdd) AS count
FROM PC
WHERE hdd=
(SELECT min(hdd) FROM PC)
GROUP BY hdd;

Об'єктно-орієнтовний стиль кодування php-частини:

<?php   
$con = new mysqli("host","user","password","db"); $con->set_charset("utf8"); $SQL='SELECT hdd, count(hdd) as count FROM PC WHERE hdd=(SELECT min(hdd) FROM PC) GROUP BY hdd;'; $result = $con->query("$SQL"); $row = $result->fetch_assoc(); echo "hdd:".$row['hdd']."Gb Кількість:".$row['count']; $con->close(); ?>


Результат виконання php-частини:

hdd: 500Gb Кількість: 3