User Tools

Site Tools


rb-projects-access:sqlexamples

This is an old revision of the document!


SQL examples

MariaDB [accesscontrol]> SELECT * FROM keycards;
+--------+------------+---------------------+---------------------+----------+
| cardID | cardNumber | Created             | Deleted             | issuedTo |
+--------+------------+---------------------+---------------------+----------+
|      1 | 1234       | 2024-05-07 12:28:20 | 0000-00-00 00:00:00 |        3 |
|      2 | 2345       | 2024-05-07 12:28:32 | 0000-00-00 00:00:00 |        3 |
|      3 | 3456       | 2024-05-07 12:28:45 | 0000-00-00 00:00:00 |        1 |
|      4 | 4567       | 2024-05-07 12:28:54 | 0000-00-00 00:00:00 |        2 |
+--------+------------+---------------------+---------------------+----------+
4 ROWS IN SET (0.001 sec)
 
MariaDB [accesscontrol]> SELECT * FROM users
    -> ;
+--------+-----------+-----------+----------+-----+---------------------+---------------------+
| userID | username  | firstname | surname  | pin | created             | deleted             |
+--------+-----------+-----------+----------+-----+---------------------+---------------------+
|      1 | AS        | A*        | S*       |   0 | 2024-05-07 11:29:25 | 0000-00-00 00:00:00 |
|      2 | os        | O*        | S*       |   0 | 2024-05-07 11:30:30 | 0000-00-00 00:00:00 |
|      3 | hs        | H*        | S*       |   0 | 2024-05-07 11:31:02 | 0000-00-00 00:00:00 |
+--------+-----------+-----------+----------+-----+---------------------+---------------------+
3 ROWS IN SET (0.000 sec)
 
 
localhost/accesscontrol/access/		http://192.168.1.197/phpmyadmin/SQL.php?server=1&db=accesscontrol&TABLE=access&pos=0
 Showing ROWS 0 -  3 (4 total, Query took 0.0005 seconds.)
 
MariaDB [accesscontrol]> SELECT * FROM access;
+----------+--------+-------------+--------+
| accessID | doorID | accesslevel | cardID |
+----------+--------+-------------+--------+
|        1 |      1 | allowed     |      1 |
|        2 |      1 | denied      |      2 |
|        3 |      1 | denied      |      3 |
|        4 |      2 | denied      |      1 |
|        5 |      2 | allowed     |      2 |
|        6 |      2 | allowed     |      3 |
+----------+--------+-------------+--------+
6 ROWS IN SET (0.001 sec)
 
 
 
MariaDB [accesscontrol]> SELECT cardNumber FROM keycards INNER JOIN users ON keycards.issuedTo = users.userID;
+------------+
| cardNumber |
+------------+
| 1234       |
| 2345       |
| 3456       |
| 4567       |
+------------+
4 ROWS IN SET (0.000 sec)
 
MariaDB [accesscontrol]>
MariaDB [accesscontrol]>
MariaDB [accesscontrol]> SELECT username FROM users INNER JOIN keycards ON keycards.issuedTo = users.userID;
+-----------+
| username  |
+-----------+
| hs        |
| hs        |
| AS        |
| os        |
+-----------+
4 ROWS IN SET (0.000 sec)
 
 
MariaDB [accesscontrol]> SELECT username FROM users INNER JOIN keycards ON keycards.issuedTo = users.userID WHERE users.username = 'hs';
+----------+
| username |
+----------+
| hs       |
| hs       |
+----------+
2 ROWS IN SET (0.000 sec)
 
MariaDB [accesscontrol]> SELECT username, keycards.cardNumber FROM users INNER JOIN keycards ON keycards.issuedTo = users.userID WHERE users.username = 'os';
+----------+------------+
| username | cardNumber |
+----------+------------+
| os       | 4567       |
+----------+------------+
1 ROW IN SET (0.000 sec)
 
MariaDB [accesscontrol]> SELECT username, keycards.cardNumber FROM users INNER JOIN keycards ON keycards.issuedTo = users.userID WHERE users.username = 'hs';
+----------+------------+
| username | cardNumber |
+----------+------------+
| hs       | 1234       |
| hs       | 2345       |
+----------+------------+
2 ROWS IN SET (0.000 sec)
 
 
 
MariaDB [accesscontrol]> SELECT * FROM access JOIN keycards ON access.userID = keycards.userID \G;
*************************** 1. ROW ***************************
   accessID: 1
     userID: 1
accesslevel: {
        "description": "access",
        "front_door": "allowed",
        "cellar_door": "denied"
}
     cardID: 3
 cardNumber: 3456
    Created: 2024-05-07 12:28:45
    Deleted: 0000-00-00 00:00:00
     userID: 1
*************************** 2. ROW ***************************
   accessID: 2
     userID: 2
accesslevel: {
        "description": "access",
        "front_door": "denied",
        "cellar_door": "denied"
}
     cardID: 4
 cardNumber: 4567
    Created: 2024-05-07 12:28:54
    Deleted: 0000-00-00 00:00:00
     userID: 2
2 ROWS IN SET (0.079 sec)

With WHERE to select just one card

SELECT `accesslevel` 
FROM `access` 
JOIN `keycards` ON `access`.`cardID` = `keycards`.`cardID` 
WHERE `keycards`.`cardID` = 2 ;


{
1 : "denied",
2 : "denied",
3 : "allowed"
}
> SELECT keycards.cardNumber, users.username
    -> FROM keycards
    -> INNER JOIN users ON keycards.userID = users.userID;
+------------+-----------+
| cardNumber | username  |
+------------+-----------+
| 1234       | hds       |
| 2345       | hds       |
| 3456       | astringer |
| 4567       | oas       |
+------------+-----------+
rb-projects-access/sqlexamples.1745578243.txt.gz · Last modified: by andrew

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki